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;