首页 > 代码库 > SQL Common Sense 碎片一
SQL Common Sense 碎片一
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‘)
结果
详细的东西 还是看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 ‘最后面的值‘ --从第二个逗号开始截取出其后的字符串
结果如下:
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。