mysql函数

  • 字符串函数

    1. CONCAT( str1,str2,...)字符串拼接

      Description: 返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。

      Example:

      select id,CONCAT('http://home.imeishi.com/pai-',id,'.html') as url,uid, username from uchome_plug_pai_photo where id!='' and dateline>=1437926400 and dateline0 and classify=2 LIMIT 3

      Result:

       

    2. CONCAT_WS( separator,str1,str2,...)用separator将字符串拼接起来

      Description: CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。 第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。

      Example:

      SELECT id,uid,username,concat_ws(',',viewnum,reconum,likenum,replynum) as test FROM uchome_plug_pai_photo WHERE classify=2 AND state>0 LIMIT 3

      Result:

    3. FORMAT(X ,D)

      Description: 将number X 设置为格式 '#,###,###.##', 以四舍五入的方式保留到小数点后 D 位, 而返回结果为一个字符串

      Example:

      select id,uid,username,format(replynum,2) as test FROM uchome_plug_pai_photo WHERE classify=AND state>0 LIMIT 5

      Result:

    4. INSERT(str ,pos,len,newstr )

      Description: 返回字符串 str , 其子字符串起始于 pos 位置和长期被字符串 newstr 取代的 len 字符。 如果 pos 超过字符串长度,则返回值为原始字符串。 假如 len 的长度大于其它字符串的长度,则从位置 pos 开始替换。若任何一个参数为null,则返回值为NULL。

      Example:

      select insert(subject,11,100,'...') FROM uchome_plug_pai_photo LIMIT 100

      Result:

    5. INSTR(str ,substr )

      Description: 返回字符串 str 中子字符串的第一个出现位置。这和LOCATE()的双参数形式相同,除非参数的顺序被颠倒。

      Example:

      select os ,instr(os,'PC') as test from uchome_plug_pai_photo WHERE state>0

      Result:

    6. LCASE( str )

      Description: LCASE() 是 LOWER()的同义词。将str小写

      Example:

      select os,lcase(os) as test from uchome_plug_pai_photo WHERE state>0

      Result:

    7. UPPER( str )

      Description: 返回字符串 str , 以及根据最新字符集映射转化为大写字母的字符 (默认为cp1252 Latin1).

      Example:

      SELECT UPPER('Hej');

      ->HEJ

    8. LEFT(str ,len)

      Description: 返回从字符串 str 开始的 len 最左字符。

      Example:

      select subject,left(subject,10) as test FROM uchome_plug_pai_photo WHERE state>0 LIMIT 50

      Result:

    9. RIGHT(str ,len)

      Description: 从字符串 str 开始,返回最右 len 字符。

      Example:

      SELECT RIGHT('foobarbar', 4);

      Result:

      -> 'rbar'

    10. LENGTH(str )

      Description: 返回值为字符串 str 的长度,单位为字节。一个多字节字符算作多字节。这意味着 对于一个包含5个2字节字符的字符串, LENGTH() 的返回值为 10, 而 CHAR_LENGTH()的返回值则为5。

      Example:

      select subject,length(subject) as test1,os,length(os) FROM uchome_plug_pai_photo WHERE state>0 LIMIT 50

      Result:

    11. LPAD( str ,len,padstr )

      Description: 返回字符串 str , 其左边由字符串 padstr 填补到 len 字符长度。假如 str 的长度大于 len, 则返回值被缩短至 len 字符。

      Example:

      select subject,lpad(subject,15,'_')FROM uchome_plug_pai_photo WHERE state>0 LIMIT 50

      Result:

    12. RPAD( str ,len,padstr )

      Description: 返回字符串 str , 其右边被字符串 padstr 填补至 len 字符长度。假如字符串 str 的长度大于 len,则返回值被缩短到与 len 字符相同长度。

      Example:

      select subject,rpad(subject,15,'_')FROM uchome_plug_pai_photo WHERE state>LIMIT 50

      Result:

    13. LTRIM(str )

      Description: 返回字符串 str ,其引导空格字符被删除。

      Example:

      Result:

    14. RTRIM(str )

      Description: 返回字符串 str ,结尾空格字符被删去。

      Example:

      SELECT RTRIM('barbar   ');

      Result:

      -> 'barbar'

    15. TRIM([{BOTH | LEADING | TRAILING} [ remstr] FROM] str ) TRIM(remstr FROM] str )

      Description: 返回字符串 str , 其中所有 remstr 前缀和/或后缀都已被删除。若分类符BOTH、LEADIN或TRAILING中没有一个是给定的,则假设为BOTH 。 remstr 为可选项,在未指定情况下,可删除空格。

      Example:

      mysql> SELECT TRIM(' bar ');

      -> 'bar'

      mysql> SELECT TRIM(LEADING 'x' FROM 'xxxbarxxx');

      -> 'barxxx'

      mysql> SELECT TRIM(BOTH 'x' FROM 'xxxbarxxx');

      -> 'bar'

      mysql> SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz');

      -> 'barx'

    16. REPEAT(str ,count )

      Description: 返回一个由重复的字符串 str 组成的字符串,字符串 str 的数目等于 count 。 若 count <= 0,则返回一个空字符串。若 str 或 count 为 NULL,则返回 NULL 。

      Example:

      SELECT REPEAT('MySQL', 3);

      Result:

      ->'MySQLMySQLMySQL'

    17. REPLACE(str ,from_str,to_str )

      Description: 返回字符串 str 以及所有被字符串 to_str 替代的字符串 from_str 。

      Example:

      select os,replace(os,'OS','os') as test FROM uchome_plug_pai_photo WHERE state>0 and os!='' LIMIT 50

      Result:

    18. REVERSE( str )

      Description: 返回字符串 str ,顺序和字符顺序相反。

      Example:

      SELECT REVERSE('abc');

      Result:

      -> 'cba'

    19. SUBSTRING( str ,pos) , SUBSTRING( str FROM pos) SUBSTRING( str ,pos,len) , SUBSTRING( str FROM pos FOR len)

      Description: SUBSTR()是 SUBSTRING()的同义词。不带有 len 参数的格式从字符串 str 返回一个子字符串,起始于位置 pos 。带有 len 参数的格式从字符串 str 返回一个长度同 len 字符相同的子字符串,起始于位置 pos 。 使用 FROM的格式为标准 SQL 语法。也可能对 pos 使用一个负值。假若这样,则子字符串的位置起始于字符串结尾的 pos 字符,而不是字符串的开头位置。在以下格式的函数中可以对 pos 使用一个负值。

      Example:

      mysql> SELECT SUBSTRING('Quadratically',5);
      -> 'ratically'

      mysql> SELECT SUBSTRING('Quadratically',5);

      -> 'ratically'

      mysql> SELECT SUBSTRING('foobarbar' FROM 4);

      -> 'barbar'

      mysql> SELECT SUBSTRING('Quadratically',5,6);

      -> 'ratica'

      mysql> SELECT SUBSTRING('Sakila', -3);

      -> 'ila'

      mysql> SELECT SUBSTRING('Sakila', -5, 3);

      -> 'aki'

      mysql> SELECT SUBSTRING('Sakila' FROM -4 FOR 2);

      -> 'ki'

    20. SUBSTRING_INDEX(str ,delim ,count )

      Description: 在定界符 delim 以及 count 出现前,从字符串 str 返回自字符串。若 count 为正值,则返回最终定界符(从左边开始)左边的一切内容。若 count 为负值,则返回定界符(从右边开始)右边的一切内容。

      Example:

      mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);

      -> 'www.mysql'

      mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2);

      -> 'mysql.com'

    21. UCASE(str )

      Description: UCASE()是UPPER()的同义词。

      Example:

      Result:

  • 数学函数(若发生错误,所有数学函数会返回 NULL 。)

    1. ABS( X )

      Description: 返回 X 的绝对值。

    2. ACOS(X )

      Description: 返回 X 反余弦, 即, 余弦是 X 的值。若 X 不在-1到 1的范围之内,则返回 NULL 。

    3. ASIN( X )

      Description: 返回 X 的反正弦,即,正弦为 X 的值。若 X   若 X 不在-1到 1的范围之内,则返回 NULL 。

    4. ATAN( X )

      Description: 返回 X 的反正切,即,正切为 X 的值。

    5. ATAN( Y ,X ) , ATAN2( Y ,X )

      Description: 返回两个变量 X 及 Y 的反正切。 它类似于 Y 或 X 的反正切计算, 除非两个参数的符号均用于确定结果所在象限。

    6. CEILING(X ) CEIL(X )

      Description: 返回不小于 X 的最小整数值。

      mysql> SELECT CEILING(1.23);

      -> 2

      mysql> SELECT CEIL(-1.23);

      -> -1

    7. CRC32(expr)

      Description: 计算循环冗余码校验值并返回一个 32比特无符号值。若参数为NULL ,则结果为 NULL。该参数应为一个字符串,而且在不是字符串的情况下会被作为字符串处理(若有可能)。区分大小写

    8. EXP( X )

      Description: 返回e的 X 乘方后的值(自然对数的底)。

    9. FLOOR(X )

      Description: 返回不大于 X 的最大整数值 。

      mysql> SELECT FLOOR(1.23);

      -> 1

      mysql> SELECT FLOOR(-1.23);

      -> -2

    10. MOD(N,M ) , N % M N MOD M

      Description: 模操作。返回 N 被 M 除后的余数。

    11. PI()

      Description: 返回 π (pi)的值。默认的显示小数位数是7位,然而 MySQL内部会使用完全双精度值。

    12. POW(X ,Y ) , POWER(X ,Y )

      Description: 返回 X 的 Y 乘方的结果值。

    13. RAND() RAND( N)

      Description: 返回一个随机浮点值 v ,范围在 0 到1 之间 (即, 其范围为 0 ≤ v ≤ 1.0)。若已指定一个整数参数 N ,则它被用作种子值,用来产生重复序列。

    14. ROUND( X ) ROUND( X ,D)

      Description: 返回参数 X , 其值接近于最近似的整数。在有两个参数的情况下,返回 X ,其值保留到小数点后 D 位,而第 D 位的保留方式为四舍五入。若要接保留 X 值小数点左边的 D 位,可将 D 设为负值。

    15. SIGN( X )

      Description: 返回参数作为-1、 0或1的符号,该符号取决于 X 的值为负、零或正。

      Example:

      mysql> SELECT SIGN(-32);

      -> -1

      mysql> SELECT SIGN(0);

      -> 0

      mysql> SELECT SIGN(234);

      -> 1

       

  • 时间和日期函数

    1. CURDATE()

      Description: 将当前日期按照'YYYY-MM-DD' 或YYYYMMDD 格式的值返回,具体格式根据函数用在字符串或是数字语境中而定。

      Example:

      mysql> SELECT CURDATE();

      -> '1997-12-15'

      mysql> SELECT CURDATE() + 0;

      -> 19971215

    2. CURTIME()

      Description: 将当前时间以'HH:MM:SS'或 HHMMSS 的格式返回, 具体格式根据函数用在字符串或是数字语境中而定。

      Example:

      mysql> SELECT CURTIME();

      -> '23:50:26'

      mysql> SELECT CURTIME() + 0;

      -> 235026

    3. CURRENT_TIME, CURRENT_TIME()

      Description: CURRENT_TIME 和CURRENT_TIME() 是CURTIME()的同义词。

      Example:

      Result:

    4. CURRENT_TIMESTAMP, CURRENT_TIMESTAMP()

      Description: CURRENT_TIMESTAMP和 CURRENT_TIMESTAMP()是NOW()的同义词。

      Example:

      Result:

    5. DATE(expr)

      Description: 提取日期或时间日期表达式 expr 中的日期部分。具体格式根据函数用在字符串或是数字语境中而定。

      Example:

      mysql> SELECT DATE('2003-12-31 01:02:03');
      -> '2003-12-31'

      mysql->SELECT date(now());

      ->2015-08-05

      mysql->select date(now())+0;

      ->20150805

    6. DATEDIFF( expr,expr2)

      Description: DATEDIFF() 返回起始时间 expr 和结束时间 expr2 之间的天数。 Expr 和 expr2 为日期或 date-and-time 表达式。计算中只用到这些值的日期部分。

      Example:

      select now(),date(now()),datediff(now(),'2015-10-1'),datediff(now(),'2015-8-1')

      Result:

       

    7. DATE_FORMAT( date ,format)

      Description: 根据 format 字符串安排 date 值的格式。

      Example:

      Result:

       select now(),date_format(now(),'%Y年%c月%d日%T');

    8. DAYNAME( date )

      Description: 返回 date 对应的工作日名称。

      Example:

      mysql->select now(),dayname(now());

      ->2015-08-06 14:31:55,Thursday

    9. DAYOFMONTH(date )

      Description: 返回 date 对应的该月日期,范围是从 1到31。

      Example:

      Result:

    10. DAYOFWEEK( date )

      Description: 返回 date (1 = 周日, 2 = 周一, ..., 7 = 周六)对应的工作日索引。

      Example:

      Result: 

    11. DAYOFYEAR( date )

      Description: 返回 date 对应的一年中的天数,范围是从 1到366。

      Example:

      Result:

    12. FROM_UNIXTIME(unix_timestamp ) , FROM_UNIXTIME(unix_timestamp ,format)

      Description: 返回'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS 格式值的 unix_timestamp 参数表示,具体格式取决于该函数是否用在字符串中或是数字语境中。

      Example:

      select dateline,from_unixtime(dateline),from_unixtime(dateline,'%Y-%m-%d'),from_unixtime(dateline,'%T') from uchome_hongbei_fifteen_activity

      Result:

       

    13. LAST_DAY( date )

      Description: 获取一个日期或日期时间值,返回该月最后一天对应的值。若参数无效,则返回NULL。

      Example:

      mysql> SELECT LAST_DAY('2003-02-05');

      -> '2003-02-28'

    14. LOCALTIME, LOCALTIME(),LOCALTIMESTAMP, LOCALTIMESTAMP()

      Description: LOCALTIME 及 LOCALTIME()和NOW()具有相同意义。LOCALTIMESTAMP和LOCALTIMESTAMP()和NOW()具有相同意义。

      Example:

      SELECT now(),LOCALTIME,localtime(),LOCALTIMESTAMP,localtimestamp();

      Result:

       

    15. MAKEDATE( year,dayofyear)

      Description: 给出年份值和一年中的天数值,返回一个日期。 dayofyear 必须大于 0 ,否则结果为 NULL。

      Example:

      mysql> SELECT MAKEDATE(2001,365), MAKEDATE(2004,365);

      -> '2001-12-31', '2004-12-30'

    16. MINUTE(time)

      Description: 返回 time 对应的分钟数,范围是从 0 到 59。

      Example:

      mysql> SELECT MINUTE('98-02-03 10:05:03');

      -> 5

    17. MONTH(date )

      Description: 返回 date 对应的月份,范围时从 1 到 12。

      Example:

      mysql> SELECT MONTH('1998-02-03');

      -> 2

    18. MONTHNAME( date )

      Description: 返回 date 对应月份的全名。

      Example:

      mysql> SELECT MONTHNAME('1998-02-05');

      -> 'February '

    19. QUARTER(date)

      Description: 返回 date 对应的一年中的季度值,范围是从 1到 4。

      Example:

      mysql> SELECT quarter(now())

      -> 3

    20. SUBDATE(date ,INTERVAL expr type) SUBDATE(expr,days )

      Description: 

      Example:

      mysql> SELECT MINUTE('98-02-03 10:05:03');

      -> 5

    21. TIME(expr)

      Description: 提取一个时间或日期时间表达式的时间部分,并将其以字符串形式返回。

      Example:

      mysql> SELECT time(now());

      -> 15:22:42

    22. WEEK(date [,mode ])

      Description: 该函数返回 date 对应的星期数。

      Example:

      mysql> SELECT WEEK('1998-02-20');

      -> 7

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值