本章节我们主要介绍 MySQL 的特殊字符的用法。 MySQL 主要有以下几种运算符:
一:IFNULL ,为null判断
IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。
IFNULL() 函数语法格式为:IFNULL(expression, alt_value)
如果第一个参数的表达式 expression 为 NULL,则返回第二个参数的备用值。
参数说明:
参数 | 描述 |
---|---|
expression | 必须,要测试的值 |
alt_value | 必须,expression 表达式为 NULL 时返回的值 |
二:ROUND() 四舍五入
ROUND() 函数
ROUND() 函数用于把数值字段舍入为指定的小数位数。
SQL ROUND() 语法
SELECT ROUND(column_name,decimals) FROM TABLE_NAME;
参数 | 描述 |
---|---|
column_name | 必需。要舍入的字段。 |
decimals | 可选。规定要返回的小数位数。 |
三:CONCAT(s1,s2...sn) 拼接
字符串 s1,s2 等多个字符串合并为一个字符串
合并多个字符串 SELECT CONCAT("SQL ", "Runoob ", "Gooogle ", "Facebook") from dual; |
三:REPLACE(s,s1,s2) 替换
将字符串 s2 替代字符串 s 中的字符串 s1,
REPLACE(str, from_str, to_str)
参数说明
str
: 需要进行替换操作的原始字符串。from_str
: 要被替换的子字符串。to_str
: 用于替换的子字符串。
将字符串 abc 中的字符 a 替换为字符 x: SELECT REPLACE('abc','a','x') --xbc |
四:CASE WHEN 表达式
在数据库查询中,复杂的逻辑和条件处理是不可避免的。MySQL 提供了强大的 CASE WHEN
表达式来帮助我们在 SQL 查询中实现这些条件逻辑。CASE WHEN
表达式类似于编程语言中的 if-else
语句,允许我们根据不同的条件返回不同的值。
具体来说,CASE WHEN
表达式使得在查询中根据某些条件动态地决定返回的结果成为可能。这对于需要在查询结果中嵌入复杂的业务逻辑或根据不同条件展示不同数据的场景尤其有用。例如,可以使用 CASE WHEN
来根据用户的评分决定显示不同的评论标签,或者根据订单金额决定不同的折扣等级。
语法:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
WHEN condition
:指定条件。THEN result
:满足条件时返回的结果。ELSE default_result
:所有条件不满足时返回的默认结果(可选)。END
:结束CASE WHEN
表达式。
五:CONVERT()
函数用于转换数据类型
它可以将一个表达式转换成指定的数据类型。在你提到的例子中,CONVERT("123", SIGNED)
是将字符串 "123"
转换为有符号整数(SIGNED INTEGER)。
CONVERT(expression, type)
expression
: 要转换的数据或值。type
: 目标数据类型。
这会将字符串 "2024-09-18"
转换为 DATE
类型的日期。
注意事项
-
转换失败处理: 如果
expression
的值无法转换为目标类型,MySQL 会将其转换为NULL
。例如:
-
SELECT CONVERT("abc", SIGNED) AS integer_value;
由于
"abc"
不能被转换为整数,查询结果会显示NULL
。 -
隐式转换: MySQL 也会在一些上下文中自动进行类型转换,例如在数值和字符串之间进行运算时。
CONVERT()
函数非常有用,特别是在需要将数据从一种格式转换为另一种格式时,如在数据清洗或数据转换过程中。
觉得写的不错的朋友,请点点赞!❤❤❤❤❤❤❤❤