紫色代表一级目录
粉红代表二级目录
蓝色代表三级目录
红色代表关键字
橙色代表说明
ANSI字符函数
字符函数用于在SQL里以不同于存储方式的格式来表示字符串。
最常用的ANSI字符函数主要用于进行串接、子串和TRANSLATE等操作。
串接:串接就是把两个单独的字符串组合在一起。
子串:子串的概念就是从一个字符串中截取一部分。
TRANSLATETRANSLATE函数用于逐字符地把一个字符串变换成另一个。它通常有3个参数:要被转换的字符串、要转换的字符列表、代入字符的列表。
常用的字符函数
字符函数主要用于对字段里的字符串或值进行比较、连接、搜索、提取片断等。
串接函数
在ORACLE中
语法:
例:
在SQL Server中
语法:
例:
在MySQL中
语法:
例:
watch out:绝大多数字符和符号都可以被包含在单引号中。
有些实现可能使用双引号来表示直义字符串。
TRANSLATE函数
TRANSLATE函数搜索字符串里的字符并查找特定的字符,标记找到的位置,然后用替代字符串里对应的字符替换它。
语法:
例:
显然这里就是将CITY中数据的I
替换为A
,N
替换为B
,D
替换为C
。
REPLACE
REPLACE函数用于把某个字符或字符串替换成指定的一个字符(或多个字符)。
语法:
例:
UPPER
UPPER函数可以把字符串里的小写全部转化为大写。
语法:
例:
LOWER
LOWER函数可以把字符串里的大写全部转化为小写。
语法:
例:
SUBSTR
SUBSTR函数获取字符串的子串。
语法:
在Oracle中
例:
在SQL Server中(或MySQL中)
例:
INSERT
INSERT函数用于在字符串里寻找指定的字符集,返回其所在的位置。
语法:
例:
从上可以看出,如果没有A则返回0。
INSTR 在 MySQL 和 Oracle 中有效,但在 Microsoft SQL Server 中,则需要使用CHARINDEX函数。
LTRIM
LTRIM函数是另一种截取部分字符串的方式,它与SUBSTRING属于同一家族。LTRIM用于从左剪除字符串里的字符。
语法:
例:
RTRIM
类似于LTRIM,RTRIM也用于剪除字符,但它是剪除字符串的右侧。
语法:
例:
DECODE
DECODE函数主要用于Oracle和PostgreSQL。它可以在字符串里搜索一个值或字符串,如果找到了,就在结果里显示另一个字符串。
语法:
例:
其他字符函数
LENGT
LENGTH函数用于得到字符串、数字、日期或表达式的长度,单位是字节。
语法:
例:
MySQL和Oracle都支持该函数。而Microsoft SQL Server则使用LEN函数来实现相同的功能。
IFNULL(检查NULL值)
IFNULL函数用于在一个表达式是NULL时从另一个表达式获得值。它可以用于大多数数据类型,但值与替代值必须是同一数据类型。
语法:
例:
只有MySQL支持该函数。要实现相同的功能,Microsoft SQL Server使用 ISNULL函数,而Oracle则使用COALESCE函数。
COALESCE
COALESCE函数也是用指定值替代NULL值,这一点与IFNULL是一样的。其不同点在于,它可以接受一个数据集,依次检查其中每一个值,直到发现一个非NULL值。如果没有找到非NULL值,它会返回一个NULL值。
例:
Microsoft SQL Server、MySQL和Oracle全都支持该函数。
LPAD
LPAD(左填充)用于在字符串左侧添加字符或空格。
语法:
例:
RPAD
RPAD(右填充)在字符串右侧添加字符或空格。
语法:
例:
ASCII
ASCII函数返回字符串最左侧字符的“美国信息交换标准码(ASCII)”。
语法:
例:
算术函数
算术函数可以对数据库里的值根据算术规则进行运算。
包括:
绝对值(ABS)
舍入(ROUND)
平方根(SQRT)
符号(SIGN)
幂(POWER)
上限和下限(CEIL、FLOOR)
指数(EXP)
SIN、COS、TAN
语法:
Microsoft SQL Server、MySQL和Oracle都支持所有的算数函数。
转换函数
转换函数把数据类型从一种转换为另一种。
字符串转换为数字
数值数据类型与字符串数据类型有两个主要的区别:
1. 算术表达式和函数可以用于数值。
2. 在输出结果里,数值是右对齐的,而字符串是左对齐的。
例:(Oracle)
数字转换为字符串
例:
SQL Server
Oracle
字符函数的组合使用
例: