SQL笔记(11)_第十一章 函数

来源:互联网 发布:mac snow ball 编辑:程序博客网 时间:2024/05/29 19:18

ANSI字符函数

字符函数用于在SQL里以不同于存储方式的格式来表示字符串。
串接就是把两个单独的字符串组合为一个。

1.常用字符函数

(1)串接函数

SQL Server: SELECT 'A' + 'B'Oracle:SELECT 'A' || 'B' (仅限2个)MySQL:SELECT CONCAT('A', 'B', ……)

(2)TRANSLATE函数

TRANSLATE函数搜索字符串里的字符并查找特定的字符,标记找到的位置,然后用替代字符串里对应的字符替换它。
 SQL Server:
SELECT NAME, TRANSLATE(NAME, 'OLD', 'NEW')
所有的O都被替换为N,所有的L都被替换为E,所有的D都被提替换为W

(3)REPLACE

REPLACE函数用于把某个字符或字符串替换为指定的字符或字符串
REPLACE(COLUMN, 'A', 'B')

(4)UPPER 

UPPER函数用于把字符串里的小写字母转换为大写字母。

SQL Server:SELECT UPPER(COLUMN_NAME)  FROM TABLE_NAME

(5)LOWER

(6)SUBSTR

用于获取子字符串的函数
SQL Server:SELECT SUBSTRING(COLUMN_NAME, 1, 3) FROM TABLE_NAME  (从1个开始, 一共截取3个,即是第1,2,3个字符)
Oracle:  SELECT SUBSTR(COLUMN_NAME, 1, 3) FROM TABLE_NAME  
MySQL:同SQL Server 

(7)INSTR

INSTR函数用于在字符串里寻找指定的字符集,返回其所在的位置。
SELECT INSTR(COLUMN_NAME, 'XXX', [ START POSITION ], [ OCCURRENCE ]) (Oracle和MySQL中有效)
SQL Server中需要使用CHARINDEX函数

(8)LTRIM

(9)RTRIM

(10)DECODE

DECODE函数不是ANSI标准里的,但功能很强大。主要用于ORACLE和PostgreSQL。
它可以在字符串里搜索一个值或字符串,如果找到了就在结果里显示另一个字符串。
DECODE(COLUMN_NAME, 'SEARCH1', 'RETURN1',[ 'SEARCH2', 'RETURN2' , 'DEFAULT VALUE'])3
DEFAULT VALUE为OTHER

2.其他字符函数

(1)LENGTH

(2)IFNULL

IFNULL函数用于在一个表达式是NULL时从另一个表达式获得值。它可以用于大多数数据类型,但值与替换值必须是同一类型。
IFNULL('VALUE', 'SUBSTITUTION')

(3)COALESCE

与IFNULL基本相同不同点在于它可以接收一个数据集。

(4)LPAD

用于在字符串左侧添加字符或空格
LPAD(COLUMN_NAME, 50, '%')  左侧添加%使其到达50位

(5)RPAD

(6)ASCII

返回ASCII

3.算数函数

常见的有:
绝对值:(ABS)
舍入:(ROUND)
平方根:(SQRT)
符号:(SIGN)
幂:(POWER)
上限和下限:(CEIL, FLOOR)
指数:(EXP)
SIN , COS , TAN

4.转换函数

(1)字符串转换为数字

Oracle中:TO_NUMBER()

(2)数字转换为字符串

SQL Server:STR()
Oracle中:TO_CHAR()

5.字符函数的组合使用



0 0
原创粉丝点击