您的位置:首页 > 数据库

SQL常用字符函数

2017-10-02 20:51 387 查看
-- 字符函数主要用于对字段里的字符串或值进行比较、连接、搜索、提取片段等

-- 串接(join+smith=joinsmith)
-- concat(colunm_name,[ '', ] column_name[column_name])
SELECT CONCAT('join','smith')
-- 用逗号隔开(1,二狗蛋)
SELECT CONCAT(NO,',',NAME)FROM book

-- TRANSLATE()
-- MySQL不可用,可使用多个replace 完成TRANSLATE()功能
-- 将字符串NAME中所有的a替换成1,b替换成2..........
SELECT NAME ,TRANSLATE(NAME,'abc','123') FROM book

-- 替换: REPLACE('value','value',[null],'value')
SELECT REPLACE('aaaabcdefg','a','1') -- 将abcdefg中所有的a替换成1
SELECT NAME ,REPLACE(NAME,'a','1') FROM book

-- 大写转换:UPPER(character string)
SELECT UPPER("aaaaaaa")
SELECT UPPER(NAME) FROM book

-- 小写转换:LOWER(character string)
SELECT LOWER("AAAAAAA")
SELECT LOWER(NAME) FROM book

-- 截取:SUBSTR(COLUMN NAME,STARTION POSITION,LENGTH)
-- 从第几个开始截取几个
-- 第一个字符索引为1
SELECT SUBSTR("123456789",1,3) -- 从第一个字符开始截取三个字符得到123
SELECT SUBSTR(NAME,5,3)FROM book --从第5个字符开始向后截取3个字符

-- INSTR(字段名, 字符串)
-- 返回字符串在某一个字段的内容中的位置, 没有找到字符串返回0,否则返回位置(从1开始)
SELECT INSTR('123A567A9','A')
SELECT INSTR(NAME,'A')FROM book

-- 去除字符串左边的空格:LTRIM(string)
SELECT LTRIM('     123A56789')
SELECT LTRIM(NAME)FROM book

-- 去除字符串右边的空格:RTRIM(string)
SELECT RTRIM('123A56789       ') a
SELECT RTRIM(NAME)FROM book

-- 长度(字节):LENGTH(value)
SELECT LENGTH('123A56789')
SELECT LENGTH(NAME)FROM book

-- 如果为空用‘substitution’代替:IFNULL(value,substitution)
SELECT IFNULL(NULL,'a')
SELECT IFNULL(NAME,'a')FROM book

-- 如果集合为空:COALESCE()
-- 功能类型IFNULL,不同之处是COALESCE可以判断一个数据集合(多列判断)
SELECT COALESCE(NULL,NULL,NULL,'a')
SELECT COALESCE(NAME,writer,price,'a')FROM book
-- 如果传入的参数所有都是null,则返回null
SELECT COALESCE(NULL,NULL,NULL,1)
SELECT COALESCE(NULL,NULL,NULL,NULL)

-- 左填充:LPAD(character set)
-- 在字符串左面填充N-字符串长度个str使得字符串长度为N
SELECT LPAD('12345',10,'+')
SELECT LPAD(NAME,15,'+')FROM book

-- 右填充:RPAD(character set)
-- 在字符串右面填充N-字符串长度个str使得字符串长度为N
SELECT RPAD('12345',10,'+')
SELECT RPAD(NAME,15,'+')FROM book

-- 美国信息交换标准代码:ASCII(character set)
-- 返回第一个字符的ASCII码
SELECT ASCII('A')
SELECT ASCII('ABC')
SELECT ASCII(NAME) FROM BOOK
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql