![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL
文章平均质量分 53
mx5721
这个作者很懒,什么都没留下…
展开
-
在数据库中备份表
思路: 在数据库中将表赋值为一个新表实现: select * into NewTableName from TargetTableName命名规范: 一般应该是TargetTableName+日期。原创 2012-08-01 17:30:05 · 1317 阅读 · 0 评论 -
sql2008安装时提示重启失败
重启机器,再进行安装,如果发现还有该错误,请按下面步骤 在开始->运行中输入regedit 到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 位置 在右边窗口右击PendingFileRenameOperations,选择删除,然后确认 重启安装。转载 2012-09-21 21:34:52 · 918 阅读 · 0 评论 -
MSSQL创建Link Server
首先创建连接实例:N'LinkServer46'是改Link的名字、N'SQLOLEDB'是数据提供者、N'192.168.88.46'目标服务器sp_addlinkedserver N'LinkServer123',N'',N'SQLOLEDB',N'192.168.88.123'最后创建登录账户:N'LinkServer123'与上面的名字同名、N'sa'本地DBMS服务器登录名、N'原创 2012-09-21 13:12:50 · 1451 阅读 · 0 评论 -
sql 分布式查询
--遠程鏈接服務器機器名:Roy;實例名:Roy\SQL2005DE;登陸名:sa;密碼:Test2005;--創建鏈接服務器EXEC master.dbo.sp_addlinkedserver @server = N'ROY_LNK', @srvproduct=N'', @provider=N'SQLOLEDB', @datasrc=N'Roy\SQL2005DE'--SQL05可用SQ原创 2012-09-03 16:30:45 · 926 阅读 · 0 评论 -
游标的使用
1.1游标的概念 游标(Cursor)它使用户可逐行访问由SQL Server返回的结果集。使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式。用SQL语言从数据库中检索数据后,结果放在内存的一块区域中,且结果往往是一个含有多个记录的集合。游标机制允许用户在SQL server内逐行地访问这些记录,按照用户自己的意愿来显示和处理这些记录。1.2 游标的优点从游原创 2012-08-23 15:01:00 · 842 阅读 · 0 评论 -
SQL LIKE 通配符
LIKE 确定给定的字符串是否与指定的模式匹配。模式可以包含常规字符和通配符字符。模式匹配过程中,常规字符必须与字符串中指定的字符完全匹配。然而,可使用字 符串的任意片段匹配通配符。与使用 = 和 != 字符串比较运算符相比,使用通配符可使 LIKE 运算符更加灵活。如果任何参数都不属于字符串数据类型,Microsoft® SQL原创 2012-12-10 12:59:46 · 1396 阅读 · 1 评论 -
SQL语法真心伤害了我
今天在做项目的时候,需要根据年和月来获取上个月的对应的数据,这里的年和月分别以int类型提供;这里就需要将两个值拼接成字符串然后再转为datetime了,刚开始是这样操作的:cast(@year+'-'+@month+'-1' as datetime),然后死活都获取不到正确的值,花了我半个小时的时间,最后才发现,SQL语言中字符串和整型值相加的时候是自动将nvarchar类型转为整型的,所以无语原创 2013-03-04 14:44:16 · 931 阅读 · 4 评论 -
MSSQL Server 排序规则详解
什么是排序规则(collation) 关于SQL Server的排序规则,估计大家都不陌生,在创建数据库时我们经常要选择一种排序规则(conllation),一般我们会留意到每一种语言的排序规则都有许多种,比如标准大陆简体中文Chinese_PRC的排序规则就有数十种之多这些排序规则有什么作用呢?让我们先来看看MS官方的解释:排序规则指定了表示每个字符的位模式。它还指定转载 2013-05-30 16:28:04 · 1105 阅读 · 0 评论 -
MSSQL Server 处理Null
Null,在T-SQL中是个很诡异的内容,它的处理方式不按常规来走,以至于我们在处理数据的时候,经常会变的手足无措,这里讨论下,null与字符类型拼接的情况。以下语句:SELECT custid, country, region, city, country + N',' + region + N',' + city AS locationFROM Sales.Customers;原创 2013-05-30 16:47:05 · 1319 阅读 · 0 评论 -
MSSQL OVER
over函数的用法:1.用于局部求和,比如,求某人在某个时间段内的订单额综合select orderid,orderdate,--orderdate数据格式为2013-01,结果为根据年月份求出总额度 sum(orderprice) over(partition by orderdate) from orders2.用于生成自动增长列select row_number原创 2013-05-30 14:48:39 · 1636 阅读 · 0 评论 -
Querying Metadata
常用的元数据信息查询语句,记录下来,在某个时候还是很有用的。--查询架构信息,SCHEMA_NAME这个方法主要用来将架构编号转换为架构名称SELECT SCHEMA_NAME(schema_id) AS table_schema_name, name AS table_nameFROM sys.tables;output:table_schema_name table_name原创 2013-05-31 10:33:43 · 841 阅读 · 0 评论 -
T-SQL 各个表达式的执行顺序
from -> where -> group by -> having ->select ->order by原创 2013-05-31 15:42:25 · 553 阅读 · 0 评论 -
T-SQL between and
在T-SQL中,between and语句的用法如下:1.整型数字范围select *from table1where col1 between 1 and 102.字符串范围select *from table1where col2 between 'abc' and 'def'总结:以上都是在常规情况下进行的查询,如果将between 后面的比较的值对换的话,那原创 2013-05-31 14:42:11 · 1796 阅读 · 0 评论 -
T-SQL获取当月天数正确解法
在网上看了很多人说如何获取当月天数,有的根据当前日期向后加一个月,然后用加一个月后的值减去当前的日期,结果获取的天数不一定对,比如今天是5月31日,那么加上一个月就是6月30日(6月份没有31日),这个时候用6月30日减去5月31日,就会得到30天),代码如下:select day(dateadd(mm,1,getdate())-day(getdate())),如果当前日期不是31日(闰月),原创 2013-05-31 16:39:52 · 2020 阅读 · 0 评论 -
某外企BI 面试题
昨天参加了一场面试,职位是BI开发测试,将面试题记录下来(至于答案我就不写了,都是自己的理解,免得误导大家,不过欢迎探讨)。给定一个表及数据,实现行列转换。给定一个表及数据,没有主键,要求将重复数据删除。实现分组排序,比如在一表中张三及李四都对应两条数据,那么现在要求对张三和李四分别排序并标上序号,如下表: 姓名课程分数张三数学80原创 2013-06-06 10:23:15 · 9399 阅读 · 0 评论 -
sql同表查重
如果employee表中的employee_no的字段有重复值,而实际情况又是不应该有重复值的,所以如果有重复值的话,就需要将它查出来,以下给出解决办法:select employee_no,employee_name from employeegroup by employee_no,employee_namehaving count(employee_no)>1 order b原创 2012-09-21 17:29:32 · 5543 阅读 · 0 评论 -
删除数据库时提示数据库正在被使用,无法删除(Cannot drop database databasename because it is currently in use)。
删除数据库时提示数据库正在被使用,无法删除(Cannot drop database databasename because it is currently in use)。这是因为在操作数据库中出现了问题,比如连接数据库后,打开了数据库连接,用完后没有正确关闭,这时就可能会导致这种情况出现。那么现在给出解决方案:use mastergoalter database databa原创 2012-10-10 17:58:04 · 11643 阅读 · 0 评论 -
sql左连接时发生字符集错误Cannot resolve the collation conflict between in the equal to operation.
SQL语句进行left join的时候发生以下错误:Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Chinese_PRC_CI_AI" in the equal to operation.加入database_default就可以了如LEFT JOIN @t原创 2012-09-11 17:25:25 · 5125 阅读 · 0 评论 -
创建索引规则
使用聚集索引和非聚集索引的区别使用聚集索引 聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理相邻。避免每次查询该列转载 2012-08-01 17:31:39 · 468 阅读 · 0 评论 -
连接子查询
数据库:|AdventureWorks;功能需求:查询所有同时订购了商品名为:'HL Mountain Front Wheel’和'HL Mountain Rear Wheel'的客户信息;实现逻辑:利用连接子查询和连接查询(join)的语法来实现;代码: select distinct sc.AccountNumber, sst.Namefrom Sales.Customer原创 2012-07-29 23:01:02 · 590 阅读 · 0 评论 -
sql遍历查询结果
思路: 1、在需要遍历的表中添加一个临时字段flag初始值设为0; 2、获取总行数,作为循环上线; 3、使用top 1 与where flag = 0来取的表中第一行数据flag等于0 的数据行; 4、操作完成后设相应行flag = 1 ; 5、循环操作;原创 2012-08-01 17:22:08 · 7031 阅读 · 0 评论 -
Sql2008R2中将数据库数据导出到sql文件中
1. 展开数据库-------->选中某个数据库-------->任务-------->生成脚本; 2. 单击下一步-------->进入如下界面,可以选择需要为整个数据库导出还是只导出某个数据库; 3. 下一步-------->选择选项(注意选择SQL文件的生成路径) 4.在上一个界面中选择高级-------->托下拉列表-------->将“要编写脚本的数据转载 2012-08-10 14:31:34 · 1861 阅读 · 0 评论 -
sql常用语句
创建数据库: create database Name创建表: create table Name ( columnName datatype null/not null, ... )创建列的描述:--创建表create table 表(a1 varchar(10),a2 char(2))--为原创 2012-08-01 17:38:20 · 395 阅读 · 0 评论 -
sql作业定时执行存储过程
在网上看到一份很好的博客,原文网址:http://blog.csdn.net/ljyabc1028/article/details/6404129这里摘抄下来:SQL2008如何创建定时作业?此方法也适应于Sql Server2005数据库,有兴趣的可以来看下!1.打开【SQL Server Management Studio】,在【对象资源管理器】列表中选择【SQL Server 代理】转载 2012-08-22 16:13:33 · 1070 阅读 · 0 评论 -
sql语句中获取datetime的日期部分或时间部分
sql语句中获取datetime的日期部分或时间部分sql语句中获取datetime的日期部分 sql语句中 经常操作操作datetime类型数据。今天在写一个存储过程的时候需要将 一个datetime的值的 日期部分提取出来。网上有许多这方面的介绍。主要方法还是通过日期格式的转换来获取。如下:Select CONVERT(varchar(100), GETDA转载 2012-08-22 16:53:36 · 1388 阅读 · 0 评论 -
SQL Server 2005 自定义函数语汇小结
转自百度文库,只做学习交流用:SQL Server 2005 自定义函数语汇小结 由于工作的需要,了解下SQL Server 2005函数的写法,现在总结一下:对于SQL Server 2005数据库而言,函数与存储过程在语法方面是有很大的相同点,最大的不同就是函数有返回值,直接使用returns ,而存储过程则使用output来声明输出变量一、下面先说明下,如何创转载 2012-08-23 10:12:36 · 507 阅读 · 0 评论 -
sql子查询与连接查询
现有Task和BUG两个表,Task与BUG表的关系是一对多的关系。现在要根据Task的创建人来获取Task下的BUG信息:子查询代码:select * from BUG where TaskID in (select TaskID from LTP_Task where CreateBy=8) 连接查询代码: select * from [dbo].[LTP_B原创 2012-08-23 16:24:55 · 1195 阅读 · 0 评论 -
update时连接表
今天工作中遇到的个需求,需要将a表中的card_no字段赋值到b表中的card_no字段中,并且a表与b表是根据employee_no一对一的关系,这时就需要在更新的时候连接两个表了。代码如下:update aset a.car_no = (select card_no from b where b.employee_n原创 2012-08-24 10:44:44 · 1470 阅读 · 0 评论 -
sql中去除空格
今天处理数据的时候用到sql中ltrim()和rtrim()来去除空格,不知道怎么回事就是去除不了。不知道是不是微软的bug,最后只能用replace代替了:replace(str1,str2,str3)--str1代表被替换字符串、str2代表哪些字符串被替换、str3代表将str2字符串替换为哪些内容原创 2012-08-23 15:16:44 · 768 阅读 · 0 评论 -
float类型转换为nvarchar类型是以科学计数法显示的解决办法
今天工作中遇到一个问题,就是将a表中的电话号码导入b表中,a表phone字段是float类型,b表字段是nvarchar类型。这时导入后在b表中phone字段是以科学计数法显示的。找了好久的解决办法。如下:update bset phone= convert(decimal,convert(float,phone))原创 2012-08-23 13:42:37 · 6111 阅读 · 0 评论 -
sql添加外键
使用以下sql语句: alter table 需要建立外键的表 add constraint 外键名字 foreign key(需要添加约束的字段) references 外键表(外键字段) ,原创 2012-09-04 16:40:29 · 960 阅读 · 0 评论 -
VS无法链接远程数据库
1. 使用Visual Studio的Server Explore后,会出现VS停止工作错误。2. .NET应用程序连接数据库时,会出现错误消息:The message received was unexpected or badly formatted解决方案:1. Execute the command “netsh winsock reset” from a comman转载 2014-04-18 19:27:54 · 949 阅读 · 0 评论