Heim >Datenbank >MySQL-Tutorial >MySQL常见函数_MySQL

MySQL常见函数_MySQL

WBOY
WBOYOriginal
2016-05-27 14:12:351203Durchsuche

bitsCN.com

字符串函数

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

mysql>%20SELECT%20CONCAT('My',%20'S',%20'QL');

->%20'MySQL'

mysql>%20SELECT%20CONCAT('My',%20NULL,%20'QL');

->%20NULL

mysql>%20SELECT%20CONCAT(14.3);

->%20'14.3'
GROUP_CONCAT函数%20将取得的值用逗号连接。%20[sql]%20view%20plaincopyMySQL常见函数_MySQL派生到我的代码片

select%20group_concat(id)%20from%20table_name;%20得到的结果是(1,2,3,4,5)
LEFT,RIGHT函数%20left(str,n)或者right(str,n)%20返回字符串最左边/右边的n个字符。
LENGTH函数,CHAR_LENGTH函数%20length(str)%20char_length(str)%20length:%20是计算字段的长度一个汉字是算两个字符,一个数字或字母算一个字符%20char_length:不管汉字还是数字或者是字母都算是一个字符。
SUBSTRING()%20SUBSTRING(str,pos,len)%20SUBSTRING(str%20FROM%20pos%20FOR%20len)%20SUBSTRING(str,pos)%20SUBSTRING(str%20FROM%20pos)%20[sql]%20view%20plaincopyMySQL常见函数_MySQL派生到我的代码片

mysql>%20SELECT%20SUBSTRING(‘Quadratically’,5);->%20‘ratically’

mysql>%20SELECT%20SUBSTRING(‘foobarbar’%20FROM%204);->%20‘barbar’

mysql>%20SELECT%20SUBSTRING(‘Quadratically’,5,6);->%20‘ratica’

mysql>%20SELECT%20SUBSTRING(‘Sakila’,%20-3);->%20‘ila’

mysql>%20SELECT%20SUBSTRING(‘Sakila’,%20-5,%203);->%20‘aki’

mysql>%20SELECT%20SUBSTRING(‘Sakila’%20FROM%20-4%20FOR%202);->%20‘ki’
SUBSTRING_INDEX(str,delim,count)%20返回字符串%20str%20中在第%20count%20个出现的分隔符%20delim%20之前的子串。%20如果%20count%20是一个正数,返回从最后的(从左边开始计数)分隔符到左边所有字符。%20如果%20count%20是负数,返回从最后的(从右边开始计数)分隔符到右边所有字符。%20mysql>SELECT%20SUBSTRING_INDEX('www.baidu.com',%20'.',%202);%20->%20'www.baidu'%20mysql>%20SELECT%20SUBSTRING_INDEX('www.baidu.com',%20'.',%20-2);%20->%20'baidu.com'

控制流函数

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

mysql>%20SELECT%20IF(1>2,2,3);

->%203

mysql>%20SELECT%20IF(1

->%20'yes'
 

mysql>%20SELECT%20IF(STRCMP('test','test1'),'no','yes');

->%20'no'
IFNULL(expr1,expr2)%20假如expr1%20不为%20NULL,则%20IFNULL()%20的返回值为%20expr1;%20否则其返回值为%20expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境。这个函数一般用来替换NULL值,因为NULL值是不能参与数值运算的,下面这个语句就可以把NULL值用0来替换。%20[sql]%20view%20plaincopyMySQL常见函数_MySQL派生到我的代码片

mysql>%20SELECT%20IFNULL(1,0);

->%201

mysql>%20SELECT%20IFNULL(NULL,10);

->%2010


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

->%2010

mysql>%20SELECT%20IFNULL(1/0,'yes');

->%20'yes'
NULLIF(expr1,expr2)%20如果expr1%20=%20expr2%20成立,那么返回值为NULL,否则返回值为%20expr1。%20这和CASE%20WHEN%20expr1%20=%20expr2%20THEN%20NULL%20ELSE%20expr1%20END相同。%20[sql]%20view%20plaincopyMySQL常见函数_MySQL派生到我的代码片

mysql>%20SELECT%20NULLIF(1,1);

->%20NULL

mysql>%20SELECT%20NULLIF(1,2);

->%201
coalesce函数,返回参数中第一个不为空的值%20[sql]%20view%20plaincopyMySQL常见函数_MySQL派生到我的代码片

select%20coalesce(a,b,c)%20from%20table_name;%20如果a不为null,则选择a;如果a为null%20,则选择b;如果b为null,则选择c;如果a、b、c都为null,则返回null。
GREATEST(value1,value2,...)%20当有2或多个参数时,返回值为最大(最大值的)参数。比较参数所依据的规律同LEAST()相同。%20[sql]%20view%20plaincopyMySQL常见函数_MySQL派生到我的代码片

mysql>%20SELECT%20GREATEST(2,0);

->%202

mysql>%20SELECT%20GREATEST(34.0,3.0,5.0,767.0);

->%20767.0
 

mysql>%20SELECT%20GREATEST('B','A','C');

->%20'C'

时间函数

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

mysql>%20SELECT%20UNIX_TIMESTAMP();

->%20882226357

mysql>%20SELECT%20UNIX_TIMESTAMP('1997-10-04%2022:23:00');

->%20875996580
FROM_UNIXTIME()%20返回unix时间戳的日期值。
TO_DAYS(date)%20给定一个日期date,%20返回一个天数%20(从年份0开始的天数%20)。%20[sql]%20view%20plaincopyMySQL常见函数_MySQL派生到我的代码片

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地址。

bitsCN.com
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn