文章分类 -  SQLSERVER数据库

上一页 1 2 3 4 下一页
sql 数字类型转换字符串
摘要:convert(varchar(20),'字段名') 阅读全文
posted @ 2014-05-27 17:11 清风暮雨 阅读(734) 评论(0) 推荐(0)
sql 负数转为正数
摘要:select ABS(列名)from 表 阅读全文
posted @ 2014-05-06 14:58 清风暮雨 阅读(4032) 评论(0) 推荐(0)
sql 附加数据库时提示日志错误(Microsoft SQL Server,错误:9004)
摘要:1. 把日志文件删除. 2. 运行以下代码: SQL codeCREATE DATABASE 数据库名称 ON(FILENAME = N'D:\SQL_DATA\数据库名称.mdf' ) --假设你的 mdf在D盘FOR ATTACH 阅读全文
posted @ 2014-03-28 22:37 清风暮雨 阅读(823) 评论(0) 推荐(0)
批量导出sql server 的视图、表、存储过程脚本
摘要:sql server 自带个功能,在数据库点右键 --任务--生成脚本-->按需要操作即可在sql server 2005 和 sql server 2008中均可实现 阅读全文
posted @ 2014-03-20 15:32 清风暮雨 阅读(448) 评论(0) 推荐(0)
SQL里面执行语句时如何返回受影响行数
摘要:可以通过全局变量@@rowcount来获得例如:SELECT * FROM tBarcode WHERE Batch='ABC' AND MaterialID=4IF( @@rowcount=0)BEGIN print 0ENDELSEBEGIN print 1END 阅读全文
posted @ 2014-03-19 18:20 清风暮雨 阅读(583) 评论(0) 推荐(0)
SQL将指定行显示在第一行
摘要:方法一:可通用的写法,就是使用伪列,然后排序,语法如下, select *,(case id when A then '1' else '2' end) as abc from user order by abc方法二:select * from user where id = Aunion select * from user where id A 阅读全文
posted @ 2014-03-18 21:08 清风暮雨 阅读(772) 评论(0) 推荐(0)
聚合函数 汇总
摘要:聚合函数对一组值执行计算并返回单一的值。聚合函数忽略空值。聚合函数经常与 SELECT 语句的 GROUP BY 子句一同使用。所有聚合函数都具有确定性。任何时候用一组给定的输入值调用它们时,都返回相同的值。Transact-SQL 编程语言提供下列聚合函数:1.AVG 返回指定组中的平均值,空值被忽略。例:select prd_no,avg(qty) from sales group by prd_no2. COUNT 返回指定组中项目的数量。例:select count(prd_no) from sales3. MAX 返回指定数据的最大值。例:select prd_no,max(qty) 阅读全文
posted @ 2014-03-14 14:38 清风暮雨 阅读(223) 评论(0) 推荐(0)
sql 查找单字段重复
摘要:查找所有重复标题的记录:SELECT *FROM t_info aWHERE ((SELECT COUNT(*)FROM t_infoWHERE Title = a.Title) > 1)ORDER BY Title DESC一。查找重复记录1。查找全部重复记录Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)2。过滤重复记录(只显示一条)Select * From HZT Where ID In (Select Max(ID) From HZT Group By Ti 阅读全文
posted @ 2014-02-25 23:00 清风暮雨 阅读(190) 评论(0) 推荐(0)
sql server2005单独取出年份,月份,日期
摘要:1 select CONVERT(nvarchar(10), getdate(), 120) 2 3 4 select DATEPART (year, GETDATE()) 5 6 7 select DATEPART (month , GETDATE()) 8 9 10 select DATEPART (day , GETDATE()) 阅读全文
posted @ 2014-02-22 21:30 清风暮雨 阅读(124) 评论(0) 推荐(0)
sql server 2005 判断一个变量是否为空
摘要:1 if (@Sectionh IS NULL OR DATALENGTH (@Sectionh)=0)2 BEGIN3 SET @Sectionh='A1' 4 ENDDATALENGTH(expression)其中expression可以是任何类型的表达式,表示该表达式所占用的字节数,返回值类型为int例:在 sql server中 select DATALENGTH('中国'); 返回值是 4.select DATALENGTH('zhongguo') 返回值是 8. 阅读全文
posted @ 2014-02-21 13:45 清风暮雨 阅读(176) 评论(0) 推荐(0)
SQL 查询周数
摘要:1 select 本年第多少周=datename(week,'2004-10-15')2 ,今天是周几=datename(weekday,'2004-10-15')知识拓展:http://blog.csdn.net/hailang123_love/article/details/5741761http://hi.baidu.com/xjmylhowkabkovd/item/a0706df5aa627a0fc6dc458d 阅读全文
posted @ 2014-02-21 11:39 清风暮雨 阅读(436) 评论(0) 推荐(0)
sql trim()函数去掉两头空格
摘要:sql语法中没有直接去除两头空格的函数,但有ltrim()去除左空格rtrim()去除右空格。合起来用就是sql的trim()函数,即select ltrim(rtrim(UsrName)) 阅读全文
posted @ 2014-02-19 04:53 清风暮雨 阅读(164) 评论(0) 推荐(0)
sqlserver判断是否为数字的函数
摘要:ISNUMERIC 确定表达式是否为一个有效的数字类型。 语法 ISNUMERIC ( expression ) 参数 expression 要计算的表达式。 返回类型 int 注释 当输入表达式得数为一个有效的整数、浮点数、money 或 decimal 类型,那么 ISNUMERIC 返回 1;否则返回 0。返回值为 1 确保可以将 expression 转换为上述数字类型中的一种。例子:select * from tbwhere ISNUMERIC(col1)>0 阅读全文
posted @ 2014-02-19 04:51 清风暮雨 阅读(207) 评论(0) 推荐(0)
sql如何截取字符
摘要:Oracle : SELECT SUBSTR('abcdefg',2,5) FROM DUAL 结果 bcdefSql Server: SELECT SUBSTRING('abcdefg',2,5) 结果 bcdef 阅读全文
posted @ 2014-02-19 04:17 清风暮雨 阅读(131) 评论(0) 推荐(0)
SQL Server 存储过程中, 递归 导致游标出错的问题。
摘要:运行后报了一大堆的错误 例如: 名为 'c_sub_data' 的游标已存在。 游标已打开。简单看看描述信息,看上去应该是 主存储过程 打开游标后, 子存储过程,再次打开时,抱错了。去仔细看了看, 发现在定义游标的地方, 有个LOCAL关键字。再回去查询查询 SQL Server 的联机丛书 LOCAL 指定对于在其中创建的批处理、存储过程或触发器来说,该游标的作用域是局部的。该游标名称仅在这个作用域内有效。GLOBAL 指定该游标的作用域对来说连接是全局的。在由连接执行的任何存储过程或批处理中,都可以引用该游标名称。该游标仅在断开连接时隐式释放。注意: 如果 GLOBAL 和 阅读全文
posted @ 2014-02-17 16:21 清风暮雨 阅读(748) 评论(0) 推荐(0)
SQL 语句中事物的使用方法
摘要:1 begin try2 begin transaction 3 insert into shiwu (asd) values ('aasdasda'); 4 commit transaction 5 end try 6 begin catch 7 select ERROR_NUMBER() as ... 阅读全文
posted @ 2014-02-16 23:56 清风暮雨 阅读(134) 评论(0) 推荐(0)
select 查询时附加一个自增列
摘要:方法一:DECLARE @temp1 TABLE (AutoID INT )SELECT IDENTITY(INT,1,1) AS 序号 INTO #temp1 FROM t1 SELECT * FROM #temp1drop TABLE #temp1注意:要这样IDENTITY(INT,1,1) AS 序号如果直接IDENTITY(INT,1,1),不要别名会报错误。方法一只能单独使用IDENTITY(INT,1,1),而不能随意在后面加上原有的行数。因此要用方法二。方法二:使用SQL Server 2005 独有的RANK() OVER () 语法*/INSERT INTO tPBomCr 阅读全文
posted @ 2014-02-16 22:29 清风暮雨 阅读(834) 评论(0) 推荐(0)
利用游标循环更新、删除表中的数据
摘要:1. 利用游标循环更新、删除MemberAccount表中的数据DECLARE My_Cursor CURSOR --定义游标FOR (SELECT * FROM dbo.MemberAccount) --查出需要的集合放到游标中OPEN My_Cursor; --打开游标FETCH NEXT FROM My_Cursor ; --读取第一行数据WHILE @@FETCH_STATUS = 0 BEGIN UPDATE dbo.MemberAccount SET UserName = UserName + 'A' WHERE CURRENT OF My_Cursor; --.. 阅读全文
posted @ 2014-01-23 09:59 清风暮雨 阅读(373) 评论(0) 推荐(0)
@@fetch_status
摘要:@@fetch_status是MSSQL的一个全局变量其值有以下三种,分别表示三种不同含义:【返回类型integer】0 FETCH 语句成功-1 FETCH 语句失败或此行不在结果集中-2 被提取的行不存在@@fetch_status值的改变是通过fetch next from实现的“FETCH NEXT FROM Cursor”例子: 1 DECLARE myCursor CURSOR FOR SELECT sBarcode FROM Bn_Barcode2 2 WHERE sParentBarcode = @Barcode and DeleteFlag=0 3 ... 阅读全文
posted @ 2014-01-23 09:46 清风暮雨 阅读(1852) 评论(0) 推荐(0)
DATEDIFF sqlserver
摘要:定义和用法DATEDIFF() 函数返回两个日期之间的天数。语法DATEDIFF(day,date1,date2)date1 和 date2 参数是合法的日期或日期/时间表达式。date1 和 date2可以是字段名。例子 1使用如下 SELECT 语句:SELECT DATEDIFF(day,'2008-12-30','2008-12-29') AS DiffDate结果:-1例子 2使用如下 SELECT 语句:SELECT DATEDIFF(day,'2008-12-29','2008-12-30') AS DiffDate 阅读全文
posted @ 2013-12-17 17:18 清风暮雨 阅读(272) 评论(0) 推荐(0)

上一页 1 2 3 4 下一页