• 字符串函数


    1.char_length(),length(),bit_length()

    select char_length('abc'),length('abc'),bit_length('abc');
    +--------------------+---------------+-------------------+
    | char_length('abc') | length('abc') | bit_length('abc') |
    +--------------------+---------------+-------------------+
    |                  3 |             3 |                24 |
    +--------------------+---------------+-------------------+

    char_length()获取字符串的字符数

    length()获取字符串的字节数,不包括字节

    bit_length()获取字符串的bit位数

    select char_length(''),length(''),bit_length('');
    +--------------------+---------------+-------------------+
    | char_length('')  | length('')  | bit_length('')  |
    +--------------------+---------------+-------------------+
    |                  1 |             3 |                24 |
    +--------------------+---------------+-------------------+

    字符串"我"是一个字符,但是汉字的我占三个有效字节,总共24bit位

    2.替换字符串函数insert(s1,x,len,s2)

     将字符串s1从x位置开始,长度为len的字符串用s2来替换。len的长度和s2字符串的长度没有匹配关系

    select insert('abcdef',2,3,'uio');
    +----------------------------+
    | insert('abcdef',2,3,'uio') |
    +----------------------------+
    | auioef                     |
    +----------------------------+

     uio的长度只是刚好等于3

    select insert('abcdef',2,3,'hjklo');
    +------------------------------+
    | insert('abcdef',2,3,'hjklo') |
    +------------------------------+
    | ahjkloef                     |
    +------------------------------+

    将s1的子字符串'bcd'用s2字符串'hjklo'替换

     select insert('abcdef',2,3,'h');
    +--------------------------+
    | insert('abcdef',2,3,'h') |
    +--------------------------+
    | ahef                     |
    +--------------------------+

     3.填充字符串函数lpad(s1,len,s2)

    将s2填充到s1的开始处,使s1长度达到len

    select lpad('abc',5,'qw');
    +--------------------+
    | lpad('abc',5,'qw') |
    +--------------------+
    | qwabc              |
    +--------------------+

      

     select lpad('abc',5,'qwerty');
    +------------------------+
    | lpad('abc',5,'qwerty') |
    +------------------------+
    | qwabc                  |
    +------------------------+

     不会填充s2的全部,仅获取s2的'qw'部分

    select lpad('abc',6,'qw');
    +--------------------+
    | lpad('abc',6,'qw') |
    +--------------------+
    | qwqabc             |
    +--------------------+

    仅填充一次s2无法达到长度6,则重复填充s2

    首先将s1的长度用空白字符填充到6,然后逐个取s2的字符从左边开始填充空白符

    select lpad('abcdef',2,'qw');
    +-----------------------+
    | lpad('abcdef',2,'qw') |
    +-----------------------+
    | ab                    |
    +-----------------------+

     需要达到的长度实际比s1小,则s1被截取

     4.char(ascii)根据ascii码值返回字符

    select char(97);
    +----------+
    | char(97) |
    +----------+
    | a        |
    +----------+
  • 相关阅读:
    PHP 命名空间
    使用 htaccess 重写 url,隐藏查询字符串
    HTML 长文本换行
    Mac OS X 上的Apache配置
    无法debug断点跟踪JDK源代码——missing line number attributes的解决方法
    根据多条件删除还能这样写
    wm_concat()函数
    spring 事务-使用@Transactional 注解(事务隔离级别)
    spring 中常用的两种事务配置方式以及事务的传播性、隔离级别
    oracle 中SQL 语句开发语法 SELECT INTO含义
  • 原文地址:https://www.cnblogs.com/bibiafa/p/9279862.html
Copyright © 2020-2023  润新知