sql的四大函数
字符串函數(shù):
1.charindex(字符串表達(dá)式 1, 字符串表達(dá)式2[,整數(shù)表達(dá)式])
select charindex('ab','BCabTabD')返回 3
select charindex('ab','BCabTabD',4)返回 6,
在字符串2 中查找字符串 1,如果存在返回第一個(gè)匹配的位置,如果不存在返回0。
如果字符串 1 和字符串 2 中有一個(gè)是null 則返回 null。可以指定在字符串
2.char(整數(shù)表達(dá)式)
select char(100) 返回 d
3.left(字符串表達(dá)式,整數(shù)表達(dá)式)
select left('abcdefg',2) 返回 ab 返回字符串中從左邊開(kāi)始指定個(gè)數(shù)的字符
4.right(字符串表達(dá)式,整數(shù)表達(dá)式)
select right('abcdefg',2) 返回 fg 返回字符串中從右邊開(kāi)始指定個(gè)數(shù)的字符。
5.len(字符串表達(dá)式)
select len('abcdefg')返回 7
select len('abcdefg') 返回 7
返回指定字符串表達(dá)式的字符數(shù),其中不包含尾隨空格。
6.lower(字符串表達(dá)式)
select lower('ABCDEF')返回 abcdef
返回大寫(xiě)字符數(shù)據(jù)轉(zhuǎn)換為小寫(xiě)的字符表達(dá)式。
7.upper(字符串表達(dá)式)
select upper('abcdef')返回 ABCDEF
返回小寫(xiě)字符數(shù)據(jù)轉(zhuǎn)換為大寫(xiě)的字符表達(dá)式。
8.ltrim(字符串表達(dá)式)
select ltrim('abc')返回 abc
返回刪除了前導(dǎo)空格之后的字符表達(dá)式。
9.stuff(字符串表達(dá)式 1,開(kāi)始位置,長(zhǎng)度,字符串表達(dá)式 2)
select stuff('abcdef',2,2,'123')
返回 a123def
在字符串表達(dá)式
1 中在指定的開(kāi)始位置刪除指定長(zhǎng)度的字符,
并在指定的開(kāi)始位置處插入字符串表達(dá)式
2。返回新字符串
10.substring(字符串表達(dá)式,開(kāi)始位置,長(zhǎng)度)
select substring('abcdef',2,2)返回bc
返回子字符串
11.replace(字符串表達(dá)式 1,字符串表達(dá)式 2,字符串表達(dá)式 3)
Select replace('abcttabchhabc','abc','123')
返回 123tt123hh123
用字符串表達(dá)式3 替換字符串表達(dá)式 1 中出現(xiàn)的所有字符串表達(dá)式2的匹配項(xiàng)。返回新的字符串
日期和時(shí)間函數(shù)
1.dateadd(日期部分,數(shù)字,日期)
select dateadd(year,45,'1990-12-11') 返回 2035-12-11 00:00:00.000
select dateadd(month,45,'1990-12-11') 返回 1994-09-11 00:00:00.000
select dateadd(mm,45,'1990-12-11') 返回 1994-09-11 00:00:00.000
select dateadd(yy,-12,'1990-12-11') 返回 1978-12-11 00:00:00.000
2.datediff(日期部分,開(kāi)始日期,結(jié)束日期) 返回兩個(gè)指定日期的指定日期部分的差的整數(shù)值。
select datediff(yy,'1990-12-11','2008-9-10') 返回 18
selectdatediff(mm,'2007-12-11','2008-9-10') 返回 9
3.datename(日期部分,日期) 返回表示指定日期的指定日期部分的字符串。
select datename(mm,'2007-12-11')返回 12
select datename(dw,'2007-12-11')返回星期二
select datename(dd, '2007-12-11')返回 11
4.datepart(日期部分,日期) 返回表示指定日期的指定日期部分的整數(shù)。
wk 表示一年中的第幾個(gè)星期 dy 表示一年中的第幾天, dw 表示一星期中星期幾,返回整數(shù)默認(rèn) 1 為星期天
select datepart(mm,'2007-12-11')返回 12
select datepart(dw,'2007-12-11')返回 3
select datepart(dd, '2007-12-11')返回 11
5.getdate無(wú)參數(shù) 返回當(dāng)前系統(tǒng)日期和時(shí)間。 select getdate()
6.縮寫(xiě)
縮寫(xiě)year年yy, yyyy quarter季qq, q month月mm, m dayofyear天(請(qǐng)看函數(shù)中的說(shuō)明)dy, y
day天(請(qǐng)看函數(shù)中的說(shuō)明)dd, d week星期wk, ww weekday天(請(qǐng)看函數(shù)中的說(shuō)明)dw, w
hour小時(shí)hh minute分鐘mi, n second秒ss, s millisecond毫秒ms
數(shù)學(xué)函數(shù)
1.abs(數(shù)值表達(dá)式) 返回指定數(shù)值表達(dá)式的絕對(duì)值(正值)
select abs(-23.4)返回 23.4
2.rand([整數(shù)表達(dá)式]) 返回從0 到 1 之間的隨機(jī) float 值。
整數(shù)表達(dá)式為種子,使用相同的種子產(chǎn)生隨機(jī)數(shù)相同。即使用同一個(gè)種子值重復(fù)調(diào)用RAND() 會(huì)返回相同的結(jié)果。
不指定種子則系統(tǒng)會(huì)隨機(jī)生成種子。
select rand(100)返回0.715436657367485
select rand()返回0.28463380767982
select rand()返回0.0131039082850364
3.round(數(shù)值表達(dá)式[,長(zhǎng)度[,操作方式]])
返回一個(gè)數(shù)值,舍入到指定的長(zhǎng)度。注意返回的數(shù)值和原數(shù)值
的總位數(shù)沒(méi)有變化。
長(zhǎng)度:舍入精度。如果長(zhǎng)度為正數(shù),則將數(shù)值舍入到長(zhǎng)度指定的小數(shù)位數(shù)。
如果長(zhǎng)度為負(fù)數(shù),則將數(shù)值小數(shù)點(diǎn)左邊部分舍入到長(zhǎng)度指定的長(zhǎng)度。
注意如果長(zhǎng)度為負(fù)數(shù)并且大于小數(shù)點(diǎn)前的數(shù)字個(gè)數(shù),則將返回0。
如果長(zhǎng)度為負(fù)數(shù)并且等于小數(shù)點(diǎn)前的數(shù)字個(gè)數(shù)且操作方式為四舍五入時(shí),最前面的一位小于5 返回 0,大于等于 5 導(dǎo)致錯(cuò)誤出現(xiàn),
如果操作方法不是四舍五入時(shí)則不會(huì)出現(xiàn)錯(cuò)誤,返回結(jié)果一律為0。
操作方式:默認(rèn)為 0 遵循四舍五入,指定其他整數(shù)值則直接截?cái)唷?br /> select round(1236.555,2)返回1236.560
select round(1236.555,2,1)返回1236.550
select round(1236.555,0)返回1237.000
select round(1236.555,-1)返回1240.000
select round(1236.555,-1,1)返回1230.000
select round(1236.555,-2)返回1200.000
select round(1236.555,-3)返回1000.000
select round(1236.555,-4)返回0.000
select round(5236.555,-4)出現(xiàn)錯(cuò)誤
select round(5236.555,-4,1)返回0.000
4.獲取大于等于最小整數(shù)值Celling SELECT Celling(123.1) --輸出124
5.獲取小于等于最大整數(shù)值Floor SELECT Floor(123.9999) --輸出123
6.獲取指定長(zhǎng)度和精度Round SELECT Round(123.456789,3) -- 輸出 123.457000 精確到小數(shù)點(diǎn)后3位
7.SQUARE返回指定浮點(diǎn)值的平方。 SELECT Square(5) --25
8.SQRT 返回指定浮點(diǎn)值的平方根(開(kāi)方)。 SELECT SQRT(25) --5
系統(tǒng)函數(shù)
1.CONVERT 用來(lái)轉(zhuǎn)變數(shù)據(jù)類(lèi)型 SELECT CONVERT (VARCHAR (5),12345) 返回:字符串12345
2.CURRENT_USER 返回當(dāng)前用戶的名字 SELECT CURRENT_USER 返回:你登錄的用戶名
3.HOST_NAME 返回當(dāng)前用戶所登錄的計(jì)算機(jī)名字 SELECT HOST_NAME() 返回:你所登錄的計(jì)算機(jī)的名字
4.SYSTEM_USER 返回當(dāng)前所登錄的用戶名稱(chēng) SELECT SYSTEM_USER 返回:你當(dāng)前所登錄的用戶名
?
轉(zhuǎn)載于:https://www.cnblogs.com/ZkbFighting/p/8145314.html
新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎(jiǎng)!定制產(chǎn)品紅包拿不停!總結(jié)
- 上一篇: Android热更新开源项目Tinker
- 下一篇: 【bzoj4007】[JLOI2015]