与几乎所有DBMS都等同地支持SQL语句 (如SELECT)不同,每一个DBMS都有特定的函数。事实上,只有少数几个函数被所有主要的DBMS等同地支持。可见,与SQL语句不同,SQL函数不是可移植的。
如果决定使用函数,应该保证做好代码注释,以便以后可以确切地知道所编写SQL代码的含义。
大多数SQL实现支持以下类型的函数:
- 文本处理函数
其余常见的文本处理函数如下:
函数 | 说明 |
LEFT()或使用子字符串函数 | 返回串左边的字符 |
LENGTH()也使用DATALENGTH()或LEN() | 返回串的长度 |
LOWER() | 将串转换为小写 |
LTRIM() | 去掉串左边的空格 |
RIGHT() | 返回串右边的字符 |
RTRIM() | 去掉串右边的空格 |
SOUNDEX() | 返回串SOUNDEX值 |
UPPER() | 将串转换为大写 |
SOUNDEX()是一个将任何文本串转换为描述其语音表示的字母数字模式的算法。SOUNDEX考虑了类似的发音字符和音节,使得能对串进行发音比较而不是字母比较。
例如:表中有一个顾客Michelle Green。但是如果这是输入错误的名字,实际应该是Michael Green,应该的处理方式如下:
SELECT cust_name,cust_contact
FROM Customers
WHERE SOUNDEX(cust_contact) = SOUNDEX('Michael Green');
- 日期和时间处理函数
- 数值处理函数
函数 | 说明 |
ABS() | 返回一个数的绝对值 |
COS() | 返回一个角度的余弦 |
EXP() | 返回一个数的指数值 |
PI() | 返回圆周率 |
SIN() | 返回一个角度的正弦 |
SQRT() | 返回一个数的平方根 |
TAN() | 返回一个数的正切值 |