首页 > 数据库技术 > 详细

SQL Common Sense 碎片一

时间:2014-06-15 20:21:03      阅读:381      评论:0      收藏:0      [点我收藏+]

1.关于时间

1 SELECT GETDATE()
2 SELECT DATEPART(d,2014-05-20 14:20:55.347)
3 SELECT DATEDIFF(d,2014-05-20 14:20:55.347,2014-06-20 14:20:55.347)
4 SELECT DATEADD(D,2,2014-05-20 14:20:55.347)

结果

bubuko.com,布布扣

详细的东西 还是看W3C的时间部分。

http://www.w3school.com.cn/sql/sql_dates.asp

2.格式转换 CONVERT

   常用时间转换

SELECT CONVERT(VARCHAR(12),GETDATE(),111)

  常常自动忽略GETDATE()中的时间部分,导致查询结果为空。各种坑,引以为戒,Please.

3.截取分隔符中的各个字符串

  当时由于存储了某两个文件的文件名,需要分别取出,九牛二虎搜出这么个方法,结果同事后来给了一个代码上解决的方法,这个很费劲的方法,也值得标记下来,告慰我当时牺牲的脑细胞们。

1 declare @str nvarchar(50);
2 set @str=462,464,2;
3 select @str as 字符串
4 select len(@str) as 字符长度
5 select charindex(,,@str,1) as 第一个逗号的索引值
6 select LEFT(@str,charindex(,,@str,1)-1) as 第一个值
7 select SUBSTRING(@str,charindex(,,@str,1)+1,len(@str)) as 从第一逗号开始截取出后面的字符串
8 select LEFT(SUBSTRING(@str,charindex(,,@str,1)+1,len(@str)),CHARINDEX(,,SUBSTRING(@str,charindex(,,@str,1)+1,len(@str)),1)-1) as 中间的值
9 select SUBSTRING(SUBSTRING(@str,charindex(,,@str,1)+1,len(@str)),charindex(,,SUBSTRING(@str,charindex(,,@str,1)+1,len(@str)),1)+1,len(@str)) as 最后面的值 --从第二个逗号开始截取出其后的字符串

 

结果如下:


bubuko.com,布布扣

 

 

SQL Common Sense 碎片一,布布扣,bubuko.com

SQL Common Sense 碎片一

原文:http://www.cnblogs.com/coderinprague/p/3785669.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!