日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sql常用函数总结

發(fā)布時間:2025/3/19 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql常用函数总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

函數(shù)名稱

參數(shù)

示例

說明

ascii

(字符串表達(dá)式)

select ascii('abc') 返回 97

返回字符串中最左側(cè)的字符的 ASCII碼。

char

(整數(shù)表達(dá)式)

select char(100) 返回 d

把ASCII 碼轉(zhuǎn)換為字符。

介于 0 和 255 之間的整數(shù)。如果該整數(shù)表達(dá)式不在此范圍內(nèi),將返回 NULL 值。

charindex

(字符串表達(dá)式1,字符串表達(dá)式2[,整數(shù)表達(dá)式])

select charindex('ab','BCabTabD')返回3

select charindex('ab','BCabTabD',4)返回6

在字符串2中查找字符串1,如果存在返回第一個匹配的位置,如果不存在返回0。如果字符串1和字符串2中有一個是null則返回null。

可以指定在字符串2中查找的起始位置。

difference

(字符串表達(dá)式1,字符串表達(dá)式2)

select difference('Green','Greene')返回4

返回一個0到4的整數(shù)值,指示兩個字符表達(dá)式的之間的相似程度。0 表示幾乎不同或完全不同,4表示幾乎相同或完全相同。注意相似并不代表相等

left

(字符串表達(dá)式,整數(shù)表達(dá)式)

select left('abcdefg',2) 返回 ab

返回字符串中從左邊開始指定個數(shù)的字符。

right

(字符串表達(dá)式,整數(shù)表達(dá)式)

select right('abcdefg',2) 返回fg

返回字符串中從右邊開始指定個數(shù)的字符。

len

(字符串表達(dá)式)

select len('abcdefg')返回 7

select len('abcdefg???? ') 返回7

返回指定字符串表達(dá)式的字符數(shù),其中不包含尾隨空格。

lower

(字符串表達(dá)式)

select lower('ABCDEF')返回 abcdef

返回大寫字符數(shù)據(jù)轉(zhuǎn)換為小寫的字符表達(dá)式。

upper

(字符串表達(dá)式)

select upper('abcdef')返回 ABCDEF

返回小寫字符數(shù)據(jù)轉(zhuǎn)換為大寫的字符表達(dá)式。

ltrim

(字符串表達(dá)式)

select ltrim('??? abc')返回 abc

返回刪除了前導(dǎo)空格之后的字符表達(dá)式。

rtrim

(字符串表達(dá)式)

select rtrim('abc??? ')返回 abc

返回刪除了尾隨空格之后的字符表達(dá)式。

patindex

(字符串表達(dá)式1,字符串表達(dá)式2)

select patindex('%ab%','123ab456')返回4

select patindex('ab%','123ab456')返回0

select patindex('___ab%','123ab456')返回1

select patindex('___ab_','123ab456')返回0

在字符串表達(dá)式1中可以使用通配符,此字符串的第一個字符和最后一個字符通常是%。

%表示任意多個字符,_表示任意字符

返回字符串表達(dá)式2中字符串表達(dá)式1所指定模式第一次出現(xiàn)的起始位置。沒有找到返回0

reverse

(字符串表達(dá)式)

select reverse('abcde')返回 edcba

返回指定字符串反轉(zhuǎn)后的新字符串

space

(整數(shù)表達(dá)式)

select 'a'+space(2)+'b' 返回 a? b

返回由指定數(shù)目的空格組成的字符串。

str

(float型小數(shù)[,總長度[,小數(shù)點后保留的位數(shù)]]

select str(123.451)返回?? 123(123前面有空格)

select str(123.451,3)返回123

select str(123.451,7,3)返回123.451

select str(123.451,7,1)返回123.5

select str(123.451,5,3)返回123.5

select str(123.651,2)返回**

返回由數(shù)字轉(zhuǎn)換成的字符串。返回字符數(shù)不到總長度的前面補(bǔ)空格,超過總長度的截斷小數(shù)位。如果需要截斷整數(shù)位則返回**。

注意在截斷時遵循四舍五入

總長度。它包括小數(shù)點、符號、數(shù)字以及空格。默認(rèn)值為 10。

小數(shù)點后最多保留16位。默認(rèn)不保留小數(shù)點后面的數(shù)字

stuff

(字符串表達(dá)式1,開始位置,長度,字符串表達(dá)式2)

select stuff('abcdef',2,2,'123')

返回 a123def

在字符串表達(dá)式1中在指定的開始位置刪除指定長度的字符,并在指定的開始位置處插入字符串表達(dá)式2。返回新字符串

substring

(字符串表達(dá)式,開始位置,長度)

select substring('abcdef',2,2)返回bc

返回子字符串

replace

(字符串表達(dá)式1,字符串表達(dá)式2,字符串表達(dá)式3)

select replace('abcttabchhabc','abc','123')

返回 123tt123hh123

用字符串表達(dá)式3替換字符串表達(dá)式1中出現(xiàn)的所有字符串表達(dá)式2的匹配項。返回新的字符串

?

日期和時間函數(shù)

函數(shù)名稱

參數(shù)

示例

說明

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(qq,12,'1990-12-11')

返回1993-12-11 00:00:00.000

select dateadd(hh,12,'1990-12-11')

返回1990-12-11 12:00:00.000

select dateadd(yy,-12,'1990-12-11')

返回1978-12-11 00:00:00.000

返回給指定日期加上一個時間間隔后的新的日期值。

數(shù)字:用于與指定的日期部分相加的值。如果指定了非整數(shù)值,則將舍棄該值的小數(shù)部分,舍棄時不遵循四舍五入。

日期:指定的原日期

在此函數(shù)中 dw,dy,dd效果一樣都表示天

datediff

(日期部分,開始日期,結(jié)束日期)

select datediff(yy,'1990-12-11','2008-9-10')

返回 18

select datediff(mm,'2007-12-11','2008-9-10')

返回 9

返回兩個指定日期的指定日期部分的差的整數(shù)值。

在計算時由結(jié)束日期減去開始日期

在此函數(shù)中 dw,dy,dd效果一樣都表示天

datename

(日期部分,日期)

select datename(mm,'2007-12-11')返回12

select datename(dw,'2007-12-11')返回星期二

select datename(dd, '2007-12-11')返回11

返回表示指定日期的指定日期部分的字符串。

dw表示一星期中星期幾,wk表示一年中的第幾個星期

dy表示一年中的第幾天

datepart

(日期部分,日期)

select datepart(mm,'2007-12-11')返回12

select datepart(dw,'2007-12-11')返回3

select datepart(dd, '2007-12-11')返回11

返回表示指定日期的指定日期部分的整數(shù)。

wk表示一年中的第幾個星期

dy表示一年中的第幾天,

dw表示一星期中星期幾,返回整數(shù)默認(rèn)1為星期天

getdate

無參數(shù)

select getdate()

返回2009-04-28 18:57:24.153

返回當(dāng)前系統(tǒng)日期和時間。

day

(日期)

select day('2007-12-11')返回11

返回一個整數(shù),表示指定日期的天的部分。

等價于datepart(dd, 日期)

month

(日期)

select month('2007-12-11')返回12

返回一個整數(shù),表示指定日期的月的部分。

等價于datepart(mm, 日期)

year

(日期)

select year('2007-12-11')返回2007

返回一個整數(shù),表示指定日期的年的部分。

等價于datepart(yy, 日期)

getutcdate

無參數(shù)

select getutcdate()

返回2009-04-28 10:57:24.153

返回表示當(dāng)前的 UTC(世界標(biāo)準(zhǔn)時間)時間。即格林尼治時間(GMT)

?

?

?

?

?

?

?

?

?

日期部分

?

(指定要返回新值的日期的組成部分。下表列出了 Microsoft SQL Server 2005 可識別的日期部分及其縮寫。)

日期部分

含義

縮寫

year

yy, yyyy

quarter

qq, q

month

mm, m

dayofyear

天(請看函數(shù)中的說明)

dy, y

day

天(請看函數(shù)中的說明)

dd, d

week

星期

wk, ww

weekday

天(請看函數(shù)中的說明)

dw, w

hour

小時

hh

minute

分鐘

mi, n

second

ss, s

millisecond

毫秒

ms

?

好用的例子:

6.1計算一個月第一天的SQL 腳本:SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)

6.2一年的第一天的SQL 腳本:SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)

6.3本周的星期一的SQL 腳本: SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)

6.4 季度的第一天的SQL 腳本:SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)?
6.5當(dāng)天的半夜的SQL 腳本:SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)

6.6上個月的最后一天的SQL 腳本:SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))

6.7去年的最后一天的SQL 腳本:SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))

6.8本月的最后一天的SQL 腳本:?? SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))???

6.9 本年的最后一天的SQL 腳本: SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))

6.10本月的第一個星期一的SQL 腳本:select DATEADD(wk, DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0)?

轉(zhuǎn)載于:https://www.cnblogs.com/fengpiaoling/p/3945191.html

總結(jié)

以上是生活随笔為你收集整理的sql常用函数总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。