• SQL常用函数


    字符串函数:

    字符串连接:CONCAT()和CONCAT_WS()

    CONCAT主要实现字符串拼接成为一个字符串:

    SELECT CONCAT('My','S','QL')

    CONCAT_WS()函数全程为CONCAT With Separator,是CONCAT()函数的特殊形式。函数CONCAT_WS()的定义如下:
    CONCAT_WS(SEP,S1,S2,…SN)
    上述函数与CONCAT()相比,多了一个表示分割符的SEP参数,即不仅将传入的其他参数连接起来,而且还会通过分割符将各个字符串分割开。分隔符可以是一个字符串,也可以是其他参数。如果分隔符为NULL,则返回结果为NULL。函数会忽略任何分隔符参数后的NULL值。

    比较字符串大小函数STRCMP()

    STRCMP(str1,str2)
    上述函数用来比较字符串参数str1和str2,如果参数str1大于str2,则返回结果1;如果参数str1小于str2,则返回结果-1;如果参数str1等于str2,则返回结果0。

    SELECT STRCMP('abc','abd'),
        STRCMP('abc','abc'),
        STRCMP('abc','abb');

      

    获取字符串长度函数LENGTH()和字符数函数CHAR_LENGTH()

    LENGTH(str)
    上述函数会获取传入的参数str的长度。会计算空格长度。

    函数CHAR_LENGTH()的定义如下:

    CHAR_LENGTH(str)

    实现字母大小写转换函数UPPER()和字符数函数LOWER()
    在MySQL软件中可以通过函数UPPER()和UCASE()实现将字符串的所有字母转变成大写字母。查看帮助文档,函数UPPER()的定义如下:
    UPPER(S)
    上述函数会将所传入的字符串对象S中所有字母全部转换成大写字母。
    关于实现字母大写转换函数除了UPPER()外,还可以通过函数UCASE()来实现,其具体定义如下:
    UCASE(S)

     

    查找字符串

    1.返回字符串位置的函数FIND_IN_SET() 在MySQL软件中可以通过函数FIND_IN_SET()获取相匹配字符串的位置。位置从第一个字符串开始计算。

    2.返回指定字符串位置的函数FIELD()
    FIELD(str,str1,str2…) 上述函数将会返回第一个与字符串str匹配的字符串的位置。如果没有找到返回0;

    从现有字符串中截取子字符串

    1.从左边或右边截取子字符串

    LEFT(str,num)
    RIGHT(str,num)

    2.截取指定位置和长度子字符串

    SUBSTRING(str,num,len)
    MID(str,num,len)

     

    去除字符串的首尾空格

    LTRIM()、函数RTRIM()和函数TRIM()。
    1.去除字符串开始处空格
    LTRIM(str)


    2.去除字符串结束处空格
    RTRIM(str)
    3.去除字符串首尾空格
    TRIM(str)

    替换字符串

    1.使用INSERT()函数

    INSERT(str,pos,len,newstr))
    SELECT '这是MySQL数据库管理系统' 字符串,
    INSERT('这是MySQL数据库管理系统',3,5,'Oracle') 转换后字符串;

    (2)执行SQL函数INSERT(),当替换的起始位置大于字符串长度,具体SQL语句如下:

    SELECT '这是MySQL数据库管理系统' 字符串, CHAR_LENGTH('这是MySQL数据库管理系统') 字符串字符数,
    INSERT('这是MySQL数据库管理系统',16,15,'Oracle') 转换后字符串;
    (3)执行SQL函数INSERT(),当所要替换的长度大于原来字符串中所剩字符串的长度,则从起始位置开始进行全部替换,具体SQL语句如下:
    SELECT '这是MySQL数据库管理系统' 字符串,CHAR_LENGTH('MySQL数据库管理系统') 剩余字符数,
    INSERT('这是MySQL数据库管理系统',3,15,'Oracle') 转换后字符串;
    2.使用REPLACE()函数
    REPLACE(str,substr,newstr))
    SELECT '这是MySQL数据库管理系统' 原字符串,
    REPLACE('这是MySQL数据库管理系统','MySQL','Oracle') 替换后字符串;


     数值函数:

    获取随机数

    SELECT RAND(),RAND(),RAND(3),RAND(3);

     

    获取整数的函数
    CEIL(x)——向上取整

    FLOOR(x)——向下取整

     

    截取数值函数

    TRUNCATE(x,y)

    对x保留y位精度,当y=-1时精度达到最小值。

     

    四舍五入函数
    ROUND(x)
    ROUND(x,y)


    日期时间函数: 

    SELECT NOW() now方式,CURRENT_TIMESTAMP() timestamp方式,
    LOCALTIME() localtime方式,SYSDATE() systemdate方式;

     

    通过各种方式显示日期和时间
    SELECT NOW() 当前时间,
    UNIX_TIMESTAMP(NOW()) unix格式,
    FROM_UNIXTIME(UNIX_TIMESTAMP(NOW())) 普通格式;


    SELECT NOW() 当前时间,
    UNIX_TIMESTAMP() unix格式,
    UNIX_TIMESTAMP(NOW()) unix格式;

     

    可以利用from_unixtime将一个整型转换成日期时间,计算的是从1970年开始计算的秒数。


    系统信息函数:

    获取MySQL系统信息

    SELECT
    VERSION() 版本号,
    DATABASE() 数据库名,
    USER() 用户名;

     


    其他:

  • 相关阅读:
    求某个数的位数公式
    ArrayList和lInkedList比较
    队列
    抽象数据结构-栈
    LinkedList的实现
    ArrayList的实现
    Iterator和List的一些问题
    SCHEMA约束
    DTD约束
    XML解析
  • 原文地址:https://www.cnblogs.com/LUO77/p/5880053.html
Copyright © 2020-2023  润新知