手机版

mysql 学习系列 字符串

发布时间:2021-06-06   来源:未知    
字号:

本文讲述MySql5.x中最常用的一些函数,包括控制流程函数、字符串函数、数值函数、日期和时间函数,对不常用的函数略去不讲,以便开发人员查阅。

一. 控制流程函数

1.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

该语句用于在不同情况时,执行不同的语句,实例如下:

Eg1. SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END;

输出:true

Eg2. SELECT CASE BINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END;

输出:NULL

2.IF(expr1,expr2,expr3)

如果expr1返回true,则该表达式返回expr2,否则返回expr3。

Eg1. SELECT IF(1<2,'yes ','no');

输出:'yes '

Eg2. SELECT IF(STRCMP('test','test1'),'no','yes');

上例中STRCMP(expr1, expr2)这个函数在expr1小于expr2时,返回-1,相等时返回0,其余的情况返回1,在上例中返回-1,因此上例的输出为:'yes'

3.IFNULL(expr1,expr2)

该函数在expr1为NULL时,返回expr2,否则,返回expr1。

Eg1. SELECT IFNULL(1,0);

输出:1

Eg2. SELECT IFNULL(NULL,10);

输出:10

4.NULLIF(expr1,expr2)

如果expr1=expr2,则返回NULL,否则,返回expr1。

Eg1. SELECT NULLIF(1,1);

输出:NULL

Eg2. SELECT NULLIF(3,4);

输出:3

二. 字符串函数

1. ASCII(str)

返回值为字符串str 的最左字符的数值。假如str为空字符串,则返回值为 0 。假如str 为NULL,则返回值为 NULL。 ASCII()用于带有从 0到255的数值的字符。

Eg1. SELECT ASCII('2');

输出:50

Eg2. SELECT ASCII('de');

输出:100

2. CONCAT(str1,str2,...)

返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。

Eg1. SELECT CONCAT('Hello', ',', '阿蜜果');

输出:'Hello, 阿蜜果'

Eg2. SELECT CONCAT('Hello', NULL, '阿蜜果');

输出:NULL

3. CONCAT_WS(separator,str1,str2,...)

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

Eg1. SELECT CONCAT_WS(',', 'Hello', '阿蜜果');

输出:'Hello, 阿蜜果'

Eg. SELECT CONCAT_WS(',', 'Hello', NU
LL, '阿蜜果');

输出:'Hello, 阿蜜果'

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

返回字符串 str, 其子字符串起始于 pos位置和长期被字符串 newstr取代的len字符。 如果pos超过字符串长度,则返回值为原始字符

mysql 学习系列 字符串.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)