mysql 字符串常用操作

    xiaoxiao2021-03-25  94

    附:小提示

    MySQL必要时自动变换数字为字符串,并且反过来也如此: mysql> SELECT 1+”1”; -> 2 mysql> SELECT CONCAT(2,’ test’); -> ‘2 test’

    – ASCII(char)返回字符的ASCII码值 – BIT_LENGTH(str)返回字符串的比特长度

    SELECT ASCII("张"),BIT_LENGTH('a')

    – CONCAT(s1,s2…,sn)将s1,s2…,sn连接成字符串 – CONCAT_WS(sep,s1,s2…,sn)将s1,s2…,sn连接成字符串,并用sep字符间隔

    SELECT concat('a','b','c'),concat_ws(',','a','b','c',1)

    – INSERT(str,x,y,instr) 将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果

    SELECT INSERT('hello i am a good boy',1,5,'oh no!')

    – FIND_IN_SET(str,list)分析逗号分隔的list列表,如果发现str,返回str在list中的位置

    SELECT FIND_IN_SET('b','a,b,c,d'); >2

    – LCASE(str)或LOWER(str) 返回将字符串str中所有字符改变为小写后的结果 – UCASE(str)或UPPER(str) 返回将字符串str中所有字符转变为大写后的结果

    SELECT LCASE(username),LOWER(username),UCASE(username),UPPER(username) FROM USER u;

    – LEFT(str,x)返回字符串str中最左边的x个字符 – RIGHT(str,x) 返回字符串str中最右边的x个字符

    SELECT LEFT('hello i am a good boy',5) SELECT RIGHT('hello i am a good boy',3)

    – LENGTH(s)返回字符串str中的字符数 – LTRIM(str) 从字符串str中切掉开头的空格 – RTRIM(str) 从字符串str中切掉结尾的空格

    SELECT length(' i am a good boy '),LTRIM(' i am a good boy '),RTRIM(' i am a good boy '),'i am a good boy'

    – POSITION(substr IN str) 返回子串substr在字符串str中第一次出现的位置 – LOCATE(substr,str) 返回子串substr在字符串str中第一次出现的位置

    select POSITION('boy' IN 'i am a good boy'),LOCATE('boy' , 'i am a good boy')

    – QUOTE(str) 用反斜杠转义str中的单引号

    SELECT QUOTE('don\`t') -- 结果 'don`t'

    – REVERSE(str) 返回颠倒字符串str的结果

    select reverse('i am a good boy')

    – REPEAT(str,x)返回字符串str重复x次的结果

    SELECT REPEAT('good',3)

    – STRCMP(s1,s2)比较字符串s1和s2 – 相等时返回 0,当第一个参数小于第二个时 -1 ,否则 1

    SELECT strcmp('asd','asd'),strcmp('asd','bsd'),strcmp('bsd','asd') -- 结果 0,-1,1

    – TRIM(str)去除字符串首部和尾部的所有空格

    select TRIM(' i am a good boy ')

    – SUBSTRING(str,index,length) 把str从index位置截取length长度

    select substring('example.com', 4, 2);

    – select substring_index(str,x,num); 返回str中第num个x字符串之前的内容

    select substring_index('www.111cn.net', '.',1)

    – select instr(str,x) 返回str中x字符串的位置

    select instr('www.111cn.net','cn')

    – if(param,表达式1,表达式2) 当param为true或大于0时,执行表达式1,为false或0 时,执行表达式2 SELECT if(2,'TRUE','false') >true

    转载请注明原文地址: https://ju.6miu.com/read-14416.html

    最新回复(0)