SQl 实用语句
得到文件扩展名
declare @str varchar(20)='MyDoc.doc'; select reverse(left(reverse(@str),charindex('.',reverse(@str))-1))
得到日期差值字符串
SELECT CONVERT(VARCHAR(10),DATEADD(day,3,GETDATE()),120)
--年
select datepart(YEAR,'2013-06-08')
select datepart(yyyy,'2013-06-08')
select datepart(yy,'2013-06-08')
--月
select datepart(MONTH,'2013-06-08')
select datepart(mm,'2013-06-08')
select datepart(m,'2013-06-08')
--日
select datepart(dd,'2013-06-08')
--1年中的第多少天
select datepart(dy,'2013-06-08')
--季度
select datepart(qq,'2013-06-08')
--1年中的第多少周
select datepart(wk,'2013-06-08')
--星期
select datepart(dw,'2013-06-08') 会输出 7
select datepart(weekday, '2013-06-08') 会输出 7
select datename(weekday, '2013-06-08') 会输出 星期六
/*
* 设置语言为英语
*/
set language N'English' --设置语言为英语
select datename(weekday, '2013-06-08') 会输出 Saturday
/*
* 设置语言为简体中文
*/
set language N'Simplified Chinese' --设置语言为简体中文
select datename(weekday, '2013-06-08') 会输出 星期六
/*
* 设置一周的第一天为星期一
*/
set datefirst 1 --设置一周的第一天为星期一(美国一周的第一天习惯为星期天)
select datepart(weekday, '2013-06-08') 会输出 6
/*
* 设置一周的第一天为星期日
*/
set datefirst 7 --设置一周的第一天为星期日(美国一周的第一天习惯为星期天)
select datepart(weekday, '2013-06-08') 会输出 7
/*
* 查询当前会话的 datefirst 设置值
*/
select @@datefirst
SELECT CONVERT(VARCHAR(10),GETDATE(),120) --2015-07-13
SELECT CONVERT(VARCHAR(10),GETDATE(),101) --07/13/2015
--按日分组:2013-01-01
select convert(nvarchar(10),CreateDate,120) as Times,ISNULL(sum(Unit),0.0) as Drinking from pdt_Out
group by convert(nvarchar(10),CreateDate,120)
go
--按月分组:2012-01
select DATEPART(month,CreateDate) as Times,sum(Unit) as Totals from pdt_Out
group by DATEPART(month,CreateDate)
go
--按年分组:2013
select DATEPART(year,CreateDate) as Times,sum(Unit) as Totals from pdt_Out
group by DATEPART(year,CreateDate)
go
--当前日期减一
SELECT DATEADD(dd,-1,GETDATE())
--当前日期减一(格式为:2018-01-01)
SELECT CONVERT(NVARCHAR(10),DATEADD(dd,-1,GETDATE()),120)
将id选择结果用逗号链接起来
SELECT STUFF((SELECT ',' + ProductId FROM ProductMapProductGroup WHERE CampaignId = '1628926957' FOR XML PATH('')),1,1,'') AS ProductIds;