SQL基本函数
? ? ? ?數(shù)據(jù)庫(kù)不同,延伸出多種不同的DBMS軟件,一些常用函數(shù)大多數(shù)DBMS都支持,但也有一些其特定的函數(shù),同個(gè)函數(shù)在不同的DBMS種也會(huì)存在語(yǔ)法不同的情況。
1.文本處理函數(shù)
left(操作列,字符長(zhǎng)度):返回左邊起指定長(zhǎng)度的字符。
right(操作列,字符長(zhǎng)度):返回右邊起指定長(zhǎng)度的字符。
length(操作列)或是len(操作列):返回字符串的長(zhǎng)度。
ltrim(操作列):去掉字符串左邊的空格。
rtrim(操作列):去掉字符串右邊的空格。
lower(操作列):將字符串轉(zhuǎn)換為小寫(xiě)。
upper(操作列):將字符串轉(zhuǎn)換為大寫(xiě)。
substr(操作列,開(kāi)始位置,截取長(zhǎng)度)或是substring(操作列,開(kāi)始位置,截取長(zhǎng)度):提取字符串的部分內(nèi)容。
soundex(操作列):是一個(gè)將文本轉(zhuǎn)換為描述此文本語(yǔ)音的字母數(shù)字模式的算法。大概就是查找同音字的意思吧(當(dāng)給出條件字符與實(shí)際存儲(chǔ)值存在差異時(shí),比如人名,給條件zhanglin,實(shí)際此人存儲(chǔ)信息為zhangling,此時(shí)按條件會(huì)查不到正確的信息,使用此算法則會(huì)返回所有類似zhanglin的發(fā)音信息。這個(gè)函數(shù)基本未使用過(guò),大家在參考時(shí)需要先了解自己使用的dbms軟件是否支持此函數(shù),以及它的具體用法)
2.日期時(shí)間函數(shù)
datepart(返回格式,操作日期格式列):返回日期列的某一部分
extract(返回格式,操作日期格式列):提取日期的成分
返回格式一般有:year? month? day? ?等,具體的部分以及書(shū)寫(xiě)需要看具體dbms支持的,也有一些支持使用year(),month()等函數(shù)直接提取相應(yīng)的部分。各個(gè)dbms支持的日期函數(shù)都很多,也有不同之處,這個(gè)需要注意。
也是由于函數(shù)有些具有獨(dú)特性,所以如果寫(xiě)的sql需要考慮到移植的話,在書(shū)寫(xiě)時(shí)可以注意下如何寫(xiě)更方便移植,注釋,相似的函數(shù)等。
3.數(shù)值處理函數(shù)
ABS():返回一個(gè)數(shù)的絕對(duì)數(shù)
EXP():返回一個(gè)數(shù)的指數(shù)值
SQRT():返回一個(gè)數(shù)的平方根
PI():返回圓周率π
SIN():返回角度的正弦
COS():返回角度的余弦
TAN():返回角度的正切
算數(shù)處理函數(shù)大多dbms基本都支持,了解自己使用的DBMS最快方法,就是查看官方文檔,比較全面,且權(quán)威。
4.聚集函數(shù)
sum(操作列):返回某列值的和。如果需要的話,可多列數(shù)值求和。
max(操作列):返回列的最大值。需要指定列,一般用于求最大數(shù)值或日期。大多數(shù)dnms文本列也可以,返回該列排序后的最后一行,忽略null值。
min(操作列):返回列的最小值。需要指定列,規(guī)則同max(),用于文本時(shí)返回排序后的第一條數(shù)據(jù)。
count(操作列):統(tǒng)計(jì)某列行數(shù)。count(*)統(tǒng)計(jì)表中所有行,count(具體列)會(huì)忽略此列null值,不一定代表全表行數(shù)。
avg(操作列):返回某列的平均值。指定數(shù)值列,忽略null值。
總結(jié)
- 上一篇: 坚定信念,追求自己的理想!让那些坏人去死
- 下一篇: 数据库设计-多级栏目(标题)分类设计