网站地图    收藏   

主页 > 后端 > mysql数据库 >

MySQL常见函数 - mysql数据库栏目 - 自学php

来源:自学PHP网    时间:2015-04-16 10:51 作者: 阅读:

[导读] 字符串函数CONCAT(str1,str2, )返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回 20540;为 NULL。[sql] view plaincopymysql SELECT CONCAT( My , S ,...

字符串函数

CONCAT(str1,str2,...) 返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。 [sql] view plaincopy在CODE上查看代码片派生到我的代码片
mysql> SELECT CONCAT('My', 'S', 'QL');
-> 'MySQL'

mysql> SELECT CONCAT('My', NULL, 'QL');
-> NULL
mysql> SELECT CONCAT(14.3);
-> '14.3'
GROUP_CONCAT函数 将取得的值用逗号连接。 [sql] view plaincopy在CODE上查看代码片派生到我的代码片
select group_concat(id) from table_name; 得到的结果是(1,2,3,4,5)
LEFT,RIGHT函数 left(str,n)或者right(str,n) 返回字符串最左边/右边的n个字符。
LENGTH函数,CHAR_LENGTH函数 length(str) char_length(str) length: 是计算字段的长度一个汉字是算两个字符,一个数字或字母算一个字符 char_length:不管汉字还是数字或者是字母都算是一个字符。
SUBSTRING() SUBSTRING(str,pos,len) SUBSTRING(str FROM pos FOR len) SUBSTRING(str,pos) SUBSTRING(str FROM pos) [sql] view plaincopy在CODE上查看代码片派生到我的代码片
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’
SUBSTRING_INDEX(str,delim,count) 返回字符串 str 中在第 count 个出现的分隔符 delim 之前的子串。 如果 count 是一个正数,返回从最后的(从左边开始计数)分隔符到左边所有字符。 如果 count 是负数,返回从最后的(从右边开始计数)分隔符到右边所有字符。 mysql>SELECT SUBSTRING_INDEX('www.baidu.com', '.', 2); -> 'www.baidu' mysql> SELECT SUBSTRING_INDEX('www.baidu.com', '.', -2); -> 'baidu.com'

控制流函数

CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END 在第一个方案的返回结果中, value=compare-value。而第二个方案的返回结果是第一种情况的真实结果。如果没有匹配的结果值,则返回结果为ELSE后的结果,如果没有ELSE 部分,则返回值为 NULL。
IF(expr1,expr2,expr3)函数 如果expr1为True,则返回expr2,否则返回expr3。 expr1 作为一个整数值进行计算,就是说,假如你正在验证浮点值或字符串值, 那么应该使用比较运算进行检验。 [sql] view plaincopy在CODE上查看代码片派生到我的代码片
mysql> SELECT IF(1>2,2,3);
-> 3

mysql> SELECT IF(1<2,'yes ','no');
-> 'yes'
 
mysql> SELECT IF(STRCMP('test','test1'),'no','yes');
-> 'no'
IFNULL(expr1,expr2) 假如expr1 不为 NULL,则 IFNULL() 的返回值为 expr1; 否则其返回值为 expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境。这个函数一般用来替换NULL值,因为NULL值是不能参与数值运算的,下面这个语句就可以把NULL值用0来替换。 [sql] view plaincopy在CODE上查看代码片派生到我的代码片
mysql> SELECT IFNULL(1,0);
-> 1

mysql> SELECT IFNULL(NULL,10);
-> 10

mysql> SELECT IFNULL(1/0,10);
-> 10

mysql> SELECT IFNULL(1/0,'yes');
-> 'yes'
NULLIF(expr1,expr2) 如果expr1 = expr2 成立,那么返回值为NULL,否则返回值为 expr1。 这和CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END相同。 [sql] view plaincopy在CODE上查看代码片派生到我的代码片
mysql> SELECT NULLIF(1,1);
-> NULL

mysql> SELECT NULLIF(1,2);
-> 1
coalesce函数,返回参数中第一个不为空的值 [sql] view plaincopy在CODE上查看代码片派生到我的代码片
select coalesce(a,b,c) from table_name; 如果a不为null,则选择a;如果a为null ,则选择b;如果b为null,则选择c;如果a、b、c都为null,则返回null。
GREATEST(value1,value2,...) 当有2或多个参数时,返回值为最大(最大值的)参数。比较参数所依据的规律同LEAST()相同。 [sql] view plaincopy在CODE上查看代码片派生到我的代码片
mysql> SELECT GREATEST(2,0);
-> 2

mysql> SELECT GREATEST(34.0,3.0,5.0,767.0);
-> 767.0
 
mysql> SELECT GREATEST('B','A','C');
-> 'C'

时间函数

CURDATE() 返回当前日期,只包含年月日
UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date) 若无参数调用,则返回一个Unix timestamp ('1970-01-01 00:00:00' GMT 之后的秒数) 作为无符号整数。若用date 来调用UNIX_TIMESTAMP(),它会将参数值以'1970-01-01 00:00:00' GMT后的秒数的形式返回。date 可以是一个DATE 字符串、一个 DATETIME字符串、一个 TIMESTAMP或一个当地时间的YYMMDD 或YYYMMDD格式的数字。 [sql] view plaincopy在CODE上查看代码片派生到我的代码片
mysql> SELECT UNIX_TIMESTAMP();
-> 882226357

mysql> SELECT UNIX_TIMESTAMP('1997-10-04 22:23:00');
-> 875996580
FROM_UNIXTIME() 返回unix时间戳的日期值。
TO_DAYS(date) 给定一个日期date, 返回一个天数 (从年份0开始的天数 )。 [sql] view plaincopy在CODE上查看代码片派生到我的代码片
mysql> SELECT TO_DAYS(950501);
-> 728779

mysql> SELECT TO_DAYS('1997-10-07');
-> 729669
DATEDIFF函数 datediff(date1,date2)用来计算两个日期之间相差的天数。
EXTRACT() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。

ROUND(x)返回离x最近的整数,也就是对x进行四舍五入处理 ROUND(x,y)返回x保留到小数点后y位的值,在截取时进行四舍五入处理 TRUNCATE(x,y)返回x保留到小数点后y位的值,不进行四舍五入操作
符号函数SIGN(x),返回x的符号,正数为1,负数为-1,0为0
CEIL(x)和CEILING(x)返回大于或等于x的最小整数 FLOOR(x)返回小于或等于x的最大整数

MD5(str),返回字符串str的MD5值。常用于对应用中的数据进行加密。 select MD5('123456')
INET_ATON(IP地址),返回IP地址的网络字节序表示 INET_NTOA(num),返回网络字节序代码的ip地址。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论