mysql字符串类型的用法

ELT(N,str1,str2,str3,...)

返回指定位置的字符串,如果N=1,则返回str1,如果N=2,则返回str2,如 果m=n,则返回sn

FIELD(s,str1,str2,…,sn)

返回字符串s在字符串列表中第一次出现的位置

FIND_IN_SET(str,strlist)

返回字符串str1在字符串s2中出现的位置。其中,字符串str2是一个以逗号分 隔的字符串

REVERSE(s)

REVERSE(s)

NULLIF(value1,value2)

比较两个字符串,如果value1与value2相等,则返回NULL,否则返回

value1

ASCII(Str)

返回字符串S中的第一个字符的ASCII码值

CHAR_LENGTH(str)

返回字符串s的字符数。作用与CHARACTER_LENGTH(str)相同

LENGTH(str)

返回字符串s的字节数,和字符集有关(1个中文3个字符集UTF-8)

CONCAT(s1,s2,......,sn)

连接s1,s2,......,sn为一个字符串

CONCAT_WS(x, s1,s2,......,sn)

同CONCAT(s1,s2,...)函数,但是每个字符串之间要加上x ,x是用什么连接

INSERT(str, id, len, replacestr)

将字符串str从idx,这个位置开始之后len个,len个替换 replacestr

REPLACE(str, a, b)

用字符串b替换字符串str中所有出现的字符串a

UPPER(s)

将字符串s的所有字母转成大写字母

LOWER(s)

将字符串s的所有字母转成小写字母

LEFT(str,n)

返回字符串str最左边的n个字符

RIGHT(str,n)

返回字符串str最右边的n个字符

LPAD(str, len, padstr)

用字符串pad对str最左边进行填充,直到str的长度为len个字符

RPAD(str ,len,padstr)

用字符串pad对str最右边进行填充,直到str的长度为len个字符

LTRIM(s)

去掉字符串s左侧的空格

RTRIM(s)

去掉字符串s右侧的空格

TRIM(s1 FROM s)

去掉字符串s开始与结尾的s1

TRIM(s)

去掉字符串s开始与结尾的空格

TRIM(LEADING s1 FROM s)

去掉字符串s开始处的s1

TRIM(TRAILING s1 FROM s)

去掉字符串s结尾处的s1

REPEAT(str, n)

返回str重复n次的结果

SPACE(n)

返回n个空格

STRCMP(expr1,expr2)

比较字符串s1,s2的ASCII码值的大小

SUBSTR(s,index,len)

返回从字符串s的index位置其len个字符

LOCATE(substr,str)

返回substr在str中首次出现的位置

-- ASCII
SELECT ASCII('ABC') FROM DUAL;
-- 5 ,4,5,12
-- CHAR_LENGTH LENGTH
SELECT CHAR_LENGTH('hello'),CHAR_LENGTH('我的我的'),LENGTH('hello'),LENGTH('我的我的')
FROM DUAL;
# XXX work for xxx 
-- CONCAT
SELECT CONCAT(e.last_name,'work for',mgr.last_name)
FROM employees e JOIN employees mgr 
WHERE e.manager_id = mgr.employee_id;
-- CONCAT_WS
SELECT CONCAT_WS('的','我','我') FROM DUAL;
# 字符串的索引是从1开始的
-- 我冲冲冲是我的我的
-- INSERT
SELECT INSERT('我的我的都是我的我的!',2,4,'冲冲冲') FROM DUAL; 
-- REPLACE
SELECT REPLACE('HALLO','LLO','llo');
--  UPPER  LOWER
SELECT UPPER('HEllo'),LOWER('HELLO') FROM DUAL;  -- HELLO  hello
-- LEFT 返回字符串左边n个字符
SELECT LEFT('LEFT',2) FROM DUAL;  -- LE
-- RIGHT 返回字符串右边n个字符
SELECT RIGHT('RIGTH',4) FROM DUAL;  -- IGTH
-- LPAD(str, len, padstr) 不足左边进行填充,直到str的长度为len个字符
SELECT LPAD('HAELLO',10,'>') FROM DUAL ; -- >>>>HAELLO
-- RIGHT(str, len, padstr) 不足左边进行填充,直到str的长度为len个字符
SELECT RPAD('HAELLO',10,'>') FROM DUAL; -- HAELLO>>>>
--  LTRIM 去掉字符串s左侧的空格
SELECT LTRIM(' HAHA ') FROM DUAL;
-- RTRIM 去掉字符串s右侧的空格
SELECT RTRIM('  HAHA ') FROM DUAL;
-- TRIM(LEADING 'S1' FROM 'S')去掉字符串s开始处的s1 
SELECT TRIM(LEADING 'O' FROM 'OFFOR') FROM DUAL;
-- TRIM(TRAILING 'S1' FROM 'S')去掉字符串s结尾处的s1 
SELECT TRIM(TRAILING 'R' FROM 'OFFOR') FROM DUAL;  -- OFFO
-- REPEAT(STR,N)重复n出现的次数
SELECT REPEAT('HA',3) FROM DUAL;
-- STRCMP(expr1,expr2),比较2个字符串的大小,左大返回1,又打返回-1
SELECT STRCMP('aav','hhv') FROM DUAL;
-- SUBST返回字符串index位置的len的个数
SELECT SUBSTR('Halloween',3,3) FROM DUAL; -- llo
-- LOCATE(substr,str)	返回substr在str中首次出现的位置
SELECT LOCATE('L','HALLO') FROM DUAL;
-- ELT 返回第n个str的值
SELECT ELT(2,'A','B','C') FROM DUAL;
-- 返回str1,出现的第一次的位置
SELECT FIELD('A','C','A','B') FROM DUAL; -- 2
-- 返回字符串列表首次出现的位置
SELECT FIND_IN_SET('A','D,A,C,F') FROM DUAL; -- 2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值