mysql函数使用技巧

查找间隔天数:

select CURDATE() as date union all select DATE_SUB(CURDATE(),interval 7 day) as date

  

 IFNULL() :函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值

IFNULL(expression, alt_value)

  

SELECT IFNULL(NULL, "RUNOOB");

  

SELECT IFNULL("Hello", "RUNOOB");

  

 CHAR_LENGTH(s):返回字符串 s 的字符数

 CHARACTER_LENGTH(s):返回字符串 s 的字符数

 CONCAT(s1,s2...sn):字符串 s1,s2 等多个字符串合并为一个字符串

 CONCAT_WS(x, s1,s2...sn):同 CONCAT(s1,s2,...) 函数,但是每个字符串之间要加上 x,x 可以是分隔符

 FIELD(s,s1,s2...):返回第一个字符串 s 在字符串列表(s1,s2...)中的位置

 FIND_IN_SET(s1,s2):返回在字符串s2中与s1匹配的字符串的位置

 FORMAT(x,n):函数可以将数字 x 进行格式化 "#,###.##", 将 x 保留到小数点后 n 位,最后一位四舍五入。

 INSERT(s1,x,len,s2):字符串 s2 替换 s1 的 x 位置开始长度为 len 的字符串

 LOCATE(s1,s):从字符串 s 中获取 s1 的开始位置

 

 LCASE(s):将字符串 s 的所有字母变成小写字母

 LEFT(s,n):返回字符串 s 的前 n 个字符

 LOWER(s):将字符串 s 的所有字母变成小写字母

 LPAD(s1,len,s2):在字符串 s1 的开始处填充字符串 s2,使字符串长度达到 len

 LTRIM(s):去掉字符串 s 开始处的空格

 MID(s,n,len):从字符串 s 的 n 位置截取长度为 len 的子字符串,同 SUBSTRING(s,n,len)

 POSITION(s1 IN s):从字符串 s 中获取 s1 的开始位置

 REPEAT(s,n):将字符串 s 重复 n 次

 REPLACE(s,s1,s2):将字符串 s2 替代字符串 s 中的字符串 s1

 REVERSE(s);将字符串s的顺序反过来

 RIGHT(s,n):返回字符串 s 的后 n 个字符

 RPAD(s1,len,s2):在字符串 s1 的结尾处添加字符串 s2,使字符串的长度达到 len

 RTRIM(s):去掉字符串 s 结尾处的空格

 STRCMP(s1,s2): 比较字符串 s1 和 s2,如果 s1 与 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1<s2 返回 -1

 SUBSTR(s, start, length):从字符串 s 的 start 位置截取长度为 length 的子字符串

 SUBSTRING(s, start, length):从字符串 s 的 start 位置截取长度为 length 的子字符串

SUBSTRING_INDEX(s, delimiter, number):返回从字符串 s 的第 number 个出现的分隔符 delimiter 之后的子串。
如果 number 是正数,返回第 number 个字符左边的字符串。
如果 number 是负数,返回第(number 的绝对值(从右边数))个字符右边的字符串。

SELECT SUBSTRING_INDEX('a*b','*',1) 
SELECT SUBSTRING_INDEX('a*b*c*d','*',-1)   
SELECT SUBSTRING_INDEX('a*b*c*d*e','*',3)
select SUBSTRING_INDEX('a*b*c','*',-1)
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('a*b*c*d*e','*',3),'*',-1)  

  

 查看sql语句的执行时间:

SHOW PROFILES;

原文地址:https://www.cnblogs.com/sunliyuan/p/13749915.html