mssql 常用函数概览

类型转换

  • 字符串 -数值
--字符串->整数
convert(int,'1')
cast('1' as int)
--整数->字符串
convert(varchar(10),2332)
  • 字符串 - 日期
--日期->字符串
select CONVERT(varchar(50),GETDATE(),120)
--字符串->日期
select CONVERT(datetime,'2015-12-20',120)


111 yy/mm/dd
114 hh:mi:s:mmm(24h)
120或者20 yyyy-mm-dd hh:mi:ss(24h)
121或者21 yyyy-mm-dd hh:mi:ss.mmm(24h)

字符串操作


LOWER('AaaA')	 	--aaaa
UPPER('AaaA') 	 	--AAAA
LTRIM(' aa ')	 	--aa  
RTRIM(' aa ')	 	-- aa
left('abcde',3)	 	--abc
right('abcde',3)	 	--cde
subString('abcde',2,3) 	--bcd
REPLACE('abcbe','b','x')--axcxe
space(3)			--   (三个空格,如果参数为负值,则返回null)
stuff('abcde',2,3,'x')	--axe  
--stuff(被操作字符,起始位置,长度,替换字符)
--[起始位置]<0 ||[长度]<0 || [起始位置] > [被操作字符]长度 结果为 null




数值操作


ROUND(12.3464,2) -- 12.35




日期操作

  • 取得当前日期
select getDate()
  • 两日期间的范围值
select DATEDIFF(day,CONVERT(datetime,'2015-12-20',120),GETDATE())--天
select DATEDIFF(s,CONVERT(datetime,'2015-12-20',120),GETDATE())--秒
select DATEDIFF(yy,CONVERT(datetime,'2015-12-20',120),GETDATE())--年
select DATEDIFF(hh,CONVERT(datetime,'2015-12-20',120),GETDATE())--小时
  • 取得年,月,日,时,分,秒的值
DatePart(w,'2005-7-25 22:56:32')返回值为 2 星期一(周日为1,周六为7) 
DatePart(d,'2005-7-25 22:56:32')返回值为 25
DatePart(y,'2005-7-25 22:56:32')返回值为 206 这一年中第206天
DatePart(yy,'2005-7-25 22:56:32')返回值为 2005
day(getdate())    --当天
month(getDate())  --月份
year(getDate())   --年
  • 日期增减
DATEADD(day,1,getDate())--明天
DATEADD(d,-1,getDate())--昨天



datepart 缩写
yy, yyyy
季度 qq, q
mm, m
年中的日 dy, y
dd, d
wk, ww
星期 dw, w
小时 hh
分钟 mi, n
ss, s
毫秒 ms
微妙 mcs
纳秒 ns

其余常用操作

isnull(null,'') --如果null就返回第二个参数值


参考博文: http://blog.csdn.net/yuanhuiqiao/article/details/4775777

你可能感兴趣的:(mssql 常用函数概览)