1.SELECT case 字段名1 when 4 then 某字段名 when 5 then "字符串" else 'no' end from 表名:根据该字段名1的值是否匹配when中的值,如果匹配就输出该when后的某字段名的值。(也有CASE WHEN expr1 = expr2 THEN的形式)
2.SELECT IF( 字段名1 >500, 字段名2, 'no' ) FROM 表名:如果字段名1大于500则输出字段名2的值,否则输出‘no'。
3.SELECT IFNULL(字段名, 为null时的值2 ) FROM 表名:该字段值不为null时输出该字段值,为null则输出值2。
4.用户变量:
SET @t1=0, @t2=0, @t3=0;
SELECT @t1:=(@t2:=1)+@t3:=4,@t1 as 别名,@t2,@t3;
别名不能用于where,但能用于order by,having,group by
5.SELECT CONCAT('My', '要连接的字符串1','要连接的字符串2');
CONCAT_WS(separator,str1,str2,...):与concat不同之处在于连接的字符串以separator分隔;分隔符为 NULL,则结果为 NULL,函数会忽略任何分隔符参数后的 NULL 值。strl为空字符串,仍在后面加separator,若为NULL则忽略。
6.CONV(N,from_base,to_base) :不同数基间转换数字
7.SELECT FIND_IN_SET('b','a,b,c,d');
8.FORMAT(X,D):将number X设置为格式 '#,###,###.##', 以四舍五入的方式保留到小数点后D位, 而返回结果为一个字符串
9.INSERT(str,pos,len,newstr): 返回字符串 str, 其子字符串起始于 pos 位置和长期被字符串 newstr取代的len 字符。 如果pos 超过字符串长度,则返回值为原始字符串。 假如len的长度大于其它字符串的长度,则从位置pos开始替换。若任何一个参数为null,则返回值为NULL。索引从1开始
10.INSTR(str,substr):返回字符串 str 中子字符串的第一个出现位置。这和LOCATE()的双参数形式相同,除非参数的顺序被颠倒。
11.LEFT(str,len):返回从字符串str 开始的len 最左字符。
12.LENGTH(str):返回值为字符串str 的长度,单位为字节。一个多字节字符算作多字节。
CHAR_LENGTH(str):返回值为字符串str 的长度,长度的单位为字符。一个多字节字符算作一个单字符。
对于一个包含五个二字节字符集, LENGTH()返回值为 10, 而CHAR_LENGTH()的返回值为5。
13.LOCATE(substr,str) , LOCATE(substr,str,pos):第一个语法返回字符串 str中子字符串substr的第一个出现位置;第二个语法返回字符串str中子字符串substr的第一个出现位置, 起始位置在pos。如若substr不在str中,则返回值为0。
14.LPAD(str,len,padstr): 返回字符串 str, 其左边由字符串padstr 填补到len 字符长度。假如str 的长度大于len, 则返回值被缩短至 len 字符。
15.QUOTE(str):引证一个字符串,由此产生一个在SQL语句中可用作完全转义数据值的结果。 返回的字符串由单引号标注,每例都带有单引号 (‘'’)、 反斜线符号 (‘\’)、 ASCII NUL以及前面有反斜线符号的Control-Z 。如果自变量的值为NULL, 则返回不带单引号的单词 “NULL”。
16.RIGHT(str,len):从字符串str 开始,返回最右len 字符。
17.RPAD(str,len,padstr): 返回字符串str, 其右边被字符串 padstr填补至len 字符长度。假如字符串str 的长度大于 len,则返回值被缩短到与 len 字符相同长度。
18.SUBSTRING(str,pos) , SUBSTRING(str FROM pos) SUBSTRING(str,pos,len) , SUBSTRING(str FROM pos FOR len):不带有len 参数的格式从字符串str返回一个子字符串,起始于位置 pos。带有len参数的格式从字符串str返回一个长度同len字符相同的子字符串,起始于位置 pos。 使用 FROM的格式为标准 SQL 语法。也可能对pos使用一个负值。假若这样,则子字符串的位置起始于字符串结尾的pos 字符,而不是字符串的开头位置。在以下格式的函数中可以对pos 使用一个负值。
19.SUBSTRING_INDEX(str,delim,count): 在定界符 delim 以及count 出现前,从字符串str返回自字符串。若count为正值,则返回最终定界符(从左边开始)左边的一切内容。若count为负值,则返回定界符(从右边开始)右边的一切内容。
20.STRCMP(expr1,expr2):若所有的字符串均相同,则返回0,若根据当前分类次序,第一个参数小于第二个,则返回 -1,其它情况返回 1 。