zoukankan      html  css  js  c++  java
  • MySQL中常用字符串函数

    1.字符串长度函数CHAR_LENGTH(str),LENGTH(str) 
    CHAR_LENGTH()返回值为字符串str的长度,长度的单位为字符。一个多字节字符算作一个单字符。对于一个包含五个二字节字符集,LENGTH() 返回值为 10, 而 CHAR_LENGTH() 的返回值为 5 
    select CHAR_LENGTH('你是'); --2 
    select LENGTH('你是'); --6 

    2.拼接函数 
    CONCAT(str1 ,str2 ,...): 
    返回结果为连接参数产生的字符串。如有任何一个参数为 NULL ,则返回值为NULL。 

    CONCAT_WS(separator ,str1 ,str2 ,...): 
    CONCAT_WS() 代表 CONCAT With Separator ,是 CONCAT() 的特殊形式。 第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL ,则结果为 NULL 。函数会忽略任何分隔符参数后的 NULL 值。  

    3.重复函数 
    REPEAT(str ,count): 
    函数使用说明:返回一个由重复的字符串str 组成的字符串,字符串str 的数目等于count 。 若 count <= 0, 则返回一个空字符串。若str 或 count 为 NULL ,则返回 NULL 。 

    4.查找位置函数 
    FIND_IN_SET(str, strlist) 
    假如字符串 str 在由 N 子链组成的字符串列表 strlist 中, 则返 
    回值的范围在 1 到 N 之间 。一个字符串列表就是一个由一些被 ‘,’ 符号分开的自链组成的字符串。如果第一个参数是一个常数字符串,而第二个是 type SET 列,则 FIND_IN_SET() 函数被优化,使用比特计算。如果 str 不在 strlist 或 strlist 为空字符串,则返回值为 0 。如任意一个参数为 NULL ,则返回值为 NULL。 

    INSTR(str,substr) 
    返回字符串 str 中子字符串的第一个出现位置。这和LOCATE() 的双参数形式相同,除非参数的顺序被颠倒。 

    LOCATE(substr ,str ) , LOCATE(substr ,str ,pos ): 
    第一个语法返回字符串 str 中子字符串substr 的第一个出现位置。第二个语法返回字符串 str 中子字符串substr 的第一个出现位置, 起始位置在pos 。如若substr 不在str 中,则返回值为0 。 

    5.截取函数 
    LEFT(str,len): 
    返回从字符串str 开始的len 最左字符 

    RIGHT(str ,len ): 
    从字符串str 开始,返回最右len 字符。 

    SUBSTRING(str ,pos ) , SUBSTRING(str FROM pos ) SUBSTRING(str ,pos ,len ) , SUBSTRING(str FROM pos FOR len ): 
    不带有len 参数的格式从字符串str 返回一个子字符串,起始于位置 pos 。带有len 参数的格式从字符串str 返回一个长度同len 字符相同的子字符串,起始于位置 pos 。 使用 FROM 的格式为标准 SQL 语法。也可能对pos 使用一个负值。假若这样,则子字符串的位置起始于字符串结尾的pos 字符,而不是字符串的开头位置。 
    select SUBSTRING('abcd',-2); --cd 
    注:SUBSTRING() 等价于SUBSTR() 

    SUBSTRING_INDEX(str,delim,count) 
    在定界符 delim 以及count 出现前,从字符串str 返回自字符串。若count 为正值, 则返回最终定界符( 从左边开始) 左边的一切内容。若count 为负值,则返回定界符(从右边开始)右边的一切内容。 
    select SUBSTRING_INDEX('a,b,c',',',2)     --  a,b 从开头到第2个,的串 
    SUBSTRING_INDEX('a,b,c','.',-2)    --  b,c 从倒数第2个点开始的串 

    6.大小写转换函数 
    LCASE(str),LOWER(str)转化为小写 
    UCASE(str),UPPER(str)转化为大写 

    7.字符串替换函数 
    REPLACE(str ,from_str ,to_str) 
    返回字符串str 以及所有被字符串to_str 替代的字符串from_str 
    select REPLACE('abcabc','ab','e'); --ecec 

    8.反转函数REVERSE(str) 
    select REVERSE('abc'); --cba 

    9.去空格函数 
    select LTRIM('   abc'); --abc 
    select RTRIM('abc   '); --abc 
    TRIM([{BOTH | LEADING | TRAILING} [remstr ] FROM] str ): 
    返回字符串 str , 其中所有remstr 前缀和/ 或后缀都已被删除。若分类符BOTH 、LEADIN 或TRAILING 中没有一个是给定的, 则假设为BOTH 
    select TRIM(BOTH FROM'  a  b  '); --a  b 

    10.空格字符串 
    SPACE(N):返回一个由N个空格组成的字符串 
  • 相关阅读:
    笨方法学python中执行argv提示ValueError: not enough values to unpack (expected 4, got 1)
    VMware workstation安装
    Redis bigkey分析
    MySQL drop table 影响及过程
    MySQL 大表硬连接删除
    ES elasticsearch 各种查询
    ES elasticsearch 各种聚合
    ES elasticsearch 聚合统计
    ES elasticsearch 实现 count单字段,分组取前多少位,以地理位置中心进行统计
    MySQL行溢出、varchar最多能存多少字符
  • 原文地址:https://www.cnblogs.com/jxterminator/p/4463666.html
Copyright © 2011-2022 走看看