数据库不同,延伸出多种不同的DBMS软件,一些常用函数大多数DBMS都支持,但也有一些其特定的函数,同个函数在不同的DBMS种也会存在语法不同的情况。
1.文本处理函数
left(操作列,字符长度):返回左边起指定长度的字符。
right(操作列,字符长度):返回右边起指定长度的字符。
length(操作列)或是len(操作列):返回字符串的长度。
ltrim(操作列):去掉字符串左边的空格。
rtrim(操作列):去掉字符串右边的空格。
lower(操作列):将字符串转换为小写。
upper(操作列):将字符串转换为大写。
substr(操作列,开始位置,截取长度)或是substring(操作列,开始位置,截取长度):提取字符串的部分内容。
soundex(操作列):是一个将文本转换为描述此文本语音的字母数字模式的算法。大概就是查找同音字的意思吧(当给出条件字符与实际存储值存在差异时,比如人名,给条件zhanglin,实际此人存储信息为zhangling,此时按条件会查不到正确的信息,使用此算法则会返回所有类似zhanglin的发音信息。这个函数基本未使用过,大家在参考时需要先了解自己使用的dbms软件是否支持此函数,以及它的具体用法)
2.日期时间函数
datepart(返回格式,操作日期格式列):返回日期列的某一部分
extract(返回格式,操作日期格式列):提取日期的成分
返回格式一般有:year month day 等,具体的部分以及书写需要看具体dbms支持的,也有一些支持使用year(),month()等函数直接提取相应的部分。各个dbms支持的日期函数都很多,也有不同之处,这个需要注意。
也是由于函数有些具有独特性,所以如果写的sql需要考虑到移植的话,在书写时可以注意下如何写更方便移植,注释,相似的函数等。
3.数值处理函数
ABS():返回一个数的绝对数
EXP():返回一个数的指数值
SQRT():返回一个数的平方根
PI():返回圆周率π
SIN():返回角度的正弦
COS():返回角度的余弦
TAN():返回角度的正切
算数处理函数大多dbms基本都支持,了解自己使用的DBMS最快方法,就是查看官方文档,比较全面,且权威。
4.聚集函数
sum(操作列):返回某列值的和。如果需要的话,可多列数值求和。
max(操作列):返回列的最大值。需要指定列,一般用于求最大数值或日期。大多数dnms文本列也可以,返回该列排序后的最后一行,忽略null值。
min(操作列):返回列的最小值。需要指定列,规则同max(),用于文本时返回排序后的第一条数据。
count(操作列):统计某列行数。count(*)统计表中所有行,count(具体列)会忽略此列null值,不一定代表全表行数。
avg(操作列):返回某列的平均值。指定数值列,忽略null值。