SQL常用字符函数

来源:互联网 发布:怎么统计淘宝分类消费 编辑:程序博客网 时间:2024/04/29 22:59
-- 字符函数主要用于对字段里的字符串或值进行比较、连接、搜索、提取片段等-- 串接(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替换成1SELECT 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)-- 从第几个开始截取几个-- 第一个字符索引为1SELECT SUBSTR("123456789",1,3) -- 从第一个字符开始截取三个字符得到123SELECT 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       ') aSELECT 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,则返回nullSELECT COALESCE(NULL,NULL,NULL,1) SELECT COALESCE(NULL,NULL,NULL,NULL) -- 左填充:LPAD(character set)-- 在字符串左面填充N-字符串长度个str使得字符串长度为NSELECT LPAD('12345',10,'+') SELECT LPAD(NAME,15,'+')FROM book-- 右填充:RPAD(character set)-- 在字符串右面填充N-字符串长度个str使得字符串长度为NSELECT RPAD('12345',10,'+') SELECT RPAD(NAME,15,'+')FROM book-- 美国信息交换标准代码:ASCII(character set)-- 返回第一个字符的ASCII码SELECT ASCII('A')SELECT ASCII('ABC')SELECT ASCII(NAME) FROM BOOK

原创粉丝点击