zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Kivy / Buildozer VM Ubuntu不能连接到网络的问题解决
    创建PHP组件(composer)
    uniapp基础
    标准js和浏览器js的区别(uniapp)
    swagger api工具 PHP组件 ---- 1
    阿里云视频点播--事件通知
    直接网页打印出现a标签的地址解决办法
    阿里云视频直播--直播转点播--实践2
    阿里云视频直播--直播转点播--实践1
    阿里云视频直播--直播转点播
  • 原文地址:https://www.cnblogs.com/yingnan/p/4701652.html
Copyright © 2011-2022 走看看