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)

Style ID Style 格式
100 或者 0 mon dd yyyy hh:miAM (或者 PM)
101 mm/dd/yy
102 yy.mm.dd
103 dd/mm/yy
104 dd.mm.yy
105 dd-mm-yy
106 dd mon yy
107 Mon dd, yy
108 hh:mm:ss
109 或者 9 mon dd yyyy hh:mi:ss:mmmAM(或者 PM)
110 mm-dd-yy
111 yy/mm/dd
112 yymmdd
113 或者 13 dd mon yyyy hh:mm:ss:mmm(24h)
114 hh:mi:ss:mmm(24h)
120 或者 20 yyyy-mm-dd hh:mi:ss(24h)
121 或者 21 yyyy-mm-dd hh:mi:ss.mmm(24h)
126 yyyy-mm-ddThh:mm:ss.mmm(沒有空格)
130 dd mon yyyy hh:mi:ss:mmmAM
131 dd/mm/yy hh:mi:ss:mmmAM

字符串操做


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 sql

相關文章
相關標籤/搜索