设为首页 加入收藏

TOP

mysql学习笔记之十一(常用函数)(一)
2015-11-21 02:05:47 来源: 作者: 【 】 浏览:1
Tags:mysql 学习 笔记 十一 常用 函数
   能运行在多个系统上的代码具有可移植性,在数据库软件中,多数sql语句时可移植的,可移植性比较强;而函数的移植性不强,主要是由于各种数据库软件都支持自己所特有的函数。因此许多sql用户不认同使用数据库软件所特有的的函数
字符串函数
    concat(str1,...,strn)   : 连接n个字符串为一个完整的字符串
    insert(str,x,y,instr)   : 将字符串str从第x位置开始,y个字符长的子串替换为instr
    lower(str)      : 所有字符变为小写
    upper(str)      :所有字符变为大写
    left(str)       : 返回字符串最左边的x个字符
    right(str)      : 返回字符串str最右边的x个字符
    lpad(str,n,pad)     : 使用pad字符串对字符串最左边进行填充,直到长度为n个字符
    rpad(str,n,pad)     : 使用pad字符串对字符串最右边进行填充,直到长度为n个字符
    ltrim(str)      : 去掉字符串str最左边的空格
    rtrim(str)      : 去掉字符串str最右边的空格
    repeat(str,x)       : 返回字符串str重复x次的结果
    replace(str,a,b)    : 使用字符串b替换字符串str中所有出现的字符串
    strcmp(str1,str2)   : 比较字符串str1和str2
    trim(str)       : 去掉字符串str行头和行尾的空格
    substring(str,x,y)  : 返回字符串str中从x位置起y个字符串长度的字符串

    1、concat(str1,...,strn)
        mysql> select concat('M','y','sql');
        +-----------------------+
        | concat('M','y','sql') |
        +-----------------------+
        | Mysql                 |
        +-----------------------+
        mysql> select concat('M','y','sql',null);
        +----------------------------+
        | concat('M','y','sql',null) |
        +----------------------------+
        | NULL                       |
        +----------------------------+
        注意:如果传入的参数有null,则返回的结果将是null
    2、insert(str,x,y,instr)
        mysql> select insert('mysql learning',3,5,'miss you');
        +-----------------------------------------+
        | insert('mysql learning',3,5,'miss you') |
        +-----------------------------------------+
        | mymiss youearning                       |
        +-----------------------------------------+ 
    3、strcmp(str1,str2)
        mysql> select strcmp('my','sql');
        +--------------------+
        | strcmp('my','sql') |
        +--------------------+
        |                 -1 |
        +--------------------+
        1 row in set (0.01 sec)

        mysql> select strcmp('mysd','mysql');
        +------------------------+
        | strcmp('mysd','mysql') |
        +------------------------+
        |                     -1 |
        +------------------------+
        1 row in set (0.00 sec)

        mysql> select strcmp('mysd','mysal');
        +------------------------+
        | strcmp('mysd','mysal') |
        +------------------------+
        |                      1 |
        +------------------------+
        1 row in set (0.00 sec)

        mysql> select strcmp('mysd','mysd');
        +-----------------------+
        | strcmp('mysd','mysd') |
        +-----------------------+
        |                     0 |
        +-----------------------+
    4、获取字符串长度length()和字符数函数char_length()
        mysql> select 'mysql' as '英文字符串字节长度',
            -> length('mysql') as '字符串长度',
            -> '常建功' as '中文字符串',
            -> length('常建功') as '字符串字节长度';
    +--------------------+------------+------------+----------------+
    | 英文字符串字节长度 | 字符串长度 | 中文字符串 | 字符串字节长度 |
    +--------------------+------------+------------+----------------+
    | mysql              |          5 | 常建功     |              6 |
    +--------------------+------------+------------+----------------+
        select 'mysql' as '英文字符串',char_length('mysql') as '字符串字符数', '常建功' as '中文字符串',char_length('常建功') as '字符串字符数';
    +------------+--------------+------------+--------------+
    | 英文字符串 | 字符串字符数 | 中文字符串 | 字符串字符数 |
    +------------+--------------+------------+--------------+
    | mysql      |            5 | 常建功     |            6 |
    +------------+--------------+------------+--------------+
    理论上是3,但是实际上我的显示时6.
    5、大小字母转换upper()和lower()
        select upper('aBcD') as  'aBcD',lower('HJjdIUE') as 'HJjdIUE';
        +------+---------+
        | aBcD | HJjdIUE |
        +------+---------+
        | ABCD | hjjdiue |
        +------+---------+
    6、查找字符串
        find_in_set(),field(),locate(),position(),instr(),ELT()

        find_in_set(str1,str2)获取相匹配字符串的位置,参数str2中将包含若干个用逗号隔开的字符串    
            mysql> select find_in_set('mysql','I,love,mysql,and,you?') as '位置';
            +------+
            | 位置 |
            +------+
首页 上一页 1 2 3 4 5 下一页 尾页 1/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇MySQL常用脚本 下一篇一条慢查询sql的的分析

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: