SQL常用函數(shù)大全

(1)isnull(expression,value)

declare @num int
select isnull(@num,11) 返回:11
如果expression不為null返回expression表達(dá)式的值,否則返回value的值。

NULLIF函數(shù)

NULLIF(Expression1,Expression2)
如果兩個(gè)參數(shù)相等,則返回NULL;否則就返回第一個(gè)參數(shù)。
等價(jià)于:Case WHEN Expression1=Expression2 Then NULL ELSE Expression1。
例如Select NULLIF(1,1)返回NULL,Select NULLIF(1,2)返回1。

NULL

NULL是個(gè)神奇的東西,表示空值,未知值,任何數(shù)與它加減乘除都返回NULL。

COALESCE函數(shù)

COALESCE(Expression1,Expression2,Expression3,......)
接受一系列的表達(dá)式或列,返回第一個(gè)非空的值。
例如SELECT COALESCE(NULL,NULL,4,NULL,NULL,5),那么返回,如果里面的參數(shù)都為NULL,那么會(huì)報(bào)錯(cuò)。

(2)聚合函數(shù)

avg()    平均值 統(tǒng)計(jì)時(shí)注意null不會(huì)被統(tǒng)計(jì),需要加上isnull(列名,0)
sum()    求和
count()   求行數(shù) 
min()    求最小值
max()    求最大值

(3)字符串操作函數(shù)

len() --計(jì)算字符串長度
lower() --轉(zhuǎn)小寫
upper () --大寫
ltrim() --字符串左側(cè)的空格去掉 
rtrim () --字符串右側(cè)的空格去掉 
ltrim(rtrim('         bb        '))
left (str,length)  --返回str 左起 length個(gè)字符。
right (str,length)  --返回str 右起 length個(gè)字符。
substring(string,start,length)    --start起始位置(從1開始)
--substring('abcdef111',2,3) 返回‘bcd’
  (string,oldstr,newstr)
--replace('abcdef','abc','123') 返回:123def
reverse(str)  --將指定的字符串的字符排列順序顛倒。
space(length)  --返回一個(gè)有指定長度的空白字符串。
stuff (str1,start, length,str2)  --用另一子串替換字符串指定位置、長度的子串。start開始為1
stuff('abcdef',2,3,'123')  返回:a123ef
如果起始位置為負(fù)或長度值為負(fù),或者起始位置大于str1的長度,則返回null值。
如果length 長度大于str1中 start以右的長度,則str1只保留首字符。
replicate(str,length) 
返回一個(gè)重復(fù)str字符串length次的字符串。
replicate('abc',3)    返回:abcabcabc

(4)字符串比較函數(shù)

charindex(substr,str)  --返回字符串中某個(gè)指定的子串出現(xiàn)的開始位置。查找substr在str中第一次出現(xiàn)的位置,位置從1開始。0表示沒找到
charindex('c','abcdefg')    返回:3
patindex('%substr%',str)  --返回字符串中某個(gè)指定的子串出現(xiàn)的開始位置。
patindex('a%','abcdefg')    返回:1
可以使用通配符,但 pattern 之前和之后必須有 % 字符(搜索第一個(gè)或最后一個(gè)字符時(shí)除外)。

(5)數(shù)據(jù)類型轉(zhuǎn)換函數(shù)

cast (str1 AS <data_ type>[ length ])  --將str1轉(zhuǎn)換為data_ type類型
convert (<data_ type>[ length ], str1 [, style])  --將str1轉(zhuǎn)換為data_ type類型length長度。
convert (nvarchar(10),getdate(),120) --返回:2017-10-21,120標(biāo)識(shí)數(shù)據(jù)樣式,或者說叫格式。

(6)日期函數(shù)

1、day(date_expression) 
返回date_expression中的日期值
2、month(date_expression)
返回date_expression中的月份值
3、year(date_expression)
返回date_expression中的年份值
4、dateadd()
dateadd (<datepart>, <number>, <date>)
返回指定日期date 加上指定的額外日期間隔number 產(chǎn)生的新日期。
5、datediff()
datediff (<datepart>, <date1>, <date2>)
返回兩個(gè)指定日期在datepart 方面的不同之處,即date2 超過date1的差距值,其結(jié)果值是一個(gè)帶有正負(fù)號(hào)的整數(shù)值。
dateadd(day,DATEDIFF(day,0,GETDATE()),0)返回下周第一天,改成year就是本年第一天,month是本月第一天,day是今天零點(diǎn)
6、datename()
datename(<datepart>, <date>)
以字符串的形式返回日期的指定部分此部分。由datepart 來指定。
7、datepart()
datepart (<datepart>, <date>)
以整數(shù)值的形式返回日期的指定部分。此部分由datepart 來指定。
datepart (dd, date) 等同于DAY (date)
datepart (mm, date) 等同于MONTH (date) 
datepart (yy, date) 等同于YEAR (date)
8、getdate()
以datetime 的缺省格式返回系統(tǒng)當(dāng)前的日期和時(shí)間。

(7)數(shù)學(xué)函數(shù)

abs(numeric_expr)                   求絕對(duì)值
ceiling(numeric_expr)                取大于等于指定值的最小整數(shù)
exp(float_expr)                      取指數(shù)
floor(numeric_expr)                   小于等于指定值得最大整數(shù)
pi()                                  3.1415926.........
power(numeric_expr,power)            返回power次方       
rand([int_expr])                     隨機(jī)數(shù)產(chǎn)生器
round(numeric_expr,int_expr)         安int_expr規(guī)定的精度四舍五入
sign(int_expr)                      根據(jù)正數(shù),0,負(fù)數(shù),,返回+1,0,-1
sqrt(float_expr)                     平方根

(8)數(shù)據(jù)類型判斷

isnumeric()     確定表達(dá)式是否為一個(gè)有效的數(shù)字類型。 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、字符轉(zhuǎn)換函數(shù) 1、ASCII() 返回字符表達(dá)式最左端字符的ASCII碼值。在ASCII()函數(shù)中,純數(shù)字的字...
    輝格食品閱讀 1,780評(píng)論 0 3
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,502評(píng)論 19 139
  • SQL SELECT 語句 一、查詢SQL SELECT 語法 (1)SELECT 列名稱 FROM 表名稱 (2...
    有錢且幸福閱讀 5,992評(píng)論 0 33
  • PHP常用函數(shù)大全 usleep() 函數(shù)延遲代碼執(zhí)行若干微秒。 unpack() 函數(shù)從二進(jìn)制字符串對(duì)數(shù)據(jù)進(jìn)行解...
    上街買菜丶迷倒老太閱讀 1,487評(píng)論 0 20
  • 樊登讀書會(huì)由前央視節(jié)目主持人、MBA資深講師樊登博士于2013年末發(fā)起,旨在運(yùn)用微信、微博等社交新媒體的力量,同時(shí)...
    薛御風(fēng)閱讀 7,811評(píng)論 2 5

友情鏈接更多精彩內(nèi)容