网站建设买服务器价格,shine跨境电商平台,企业网络拓扑图及配置,wordpress support hls playerMySQL常用函数整理sql函数分类一、流程控制1、判断值为null或空字符串2、IF函数3、IFNULL函数4、CASE函数(1) 相当于switch case的作用(2) 相当于if elseif的作用5、COALESCE函数二、字符串类#xff08;GBT答案#xff09;1、用于select、insert等子句中2、用于where子句中其…
MySQL常用函数整理sql函数分类一、流程控制1、判断值为null或空字符串2、IF函数3、IFNULL函数4、CASE函数(1) 相当于switch case的作用(2) 相当于if elseif的作用5、COALESCE函数二、字符串类GBT答案1、用于select、insert等子句中2、用于where子句中其他函数在通过sql处理一些业务场景中除了使用关联查询、子查询等一些常用sql方法外还可以使用sql函数去处理相比于在代码中直接处理函数的使用清晰简单往往能达到事半功倍的效果。sql函数分类
常用SQL函数主要包括以下几类数值类、字符串类、时间日期类、数据转换、流程控制。以下主要叙述以下流程控制类函数和字符串类函数使用比较广泛对于业务处理也最实用
一、流程控制
首先先列举一下比较运算符可以使用在函数语句中 、、、、 IS NULL、IS NOT NULL、 BETWEEN . . . AND. . . 、IN、NOT IN、LIKE、REGEXP正则 LEAST :当有两个或者多个参数时返回其中的最小值。如果其中一个值为NULL则 返回结果就为NULL。 GREATEST :当有两个或者多个参数时返回其中的最大值。如果其中一个值为NULL. 则返回结果就为NULL。 1、判断值为null或空字符串
ISNULL(NAME)1) //判断值为null为NULL返回1否则返回0
(LENGTH(trim(NAME))0 //判断是否为空字符串为空等于0否则大于02、IF函数
语法IF(表达式1,表达式2,表达式3) 如果表达式1为true则执行表达式2否则执行表达式3。类似于三目运算 作用于select 查询语句
SELECT
IF( ITASWITCH Y, 是, 否 ) ITALEVEL
FROMt_logsmgt_rule返回结果 作用于where条件语句
SELECT*
FROMt_logsmgt_rule
WHERE
IF( ITASWITCH N, 1, 0 )只是用于模拟具体使用还是得结合业务条件结果如下
3、IFNULL函数
IFNULL() 函数用于判断第一个表达式是否为 NULL如果为 NULL 则返回第二个参数的值如果不为 NULL 则返回第一个参数的值。 语法IFNULL(表达式, 备用值) 这个有点类似于IF(ISNULL(xx),xx,yy)。就不过的赘述了。
SELECTIFNULL( PID, ID )
FROMt_logsmgt_rule;4、CASE函数
(1) 相当于switch case的作用
CASE开始END结束 WHEN条件TEHN执行符合条件的表达式 ELSE以上条件都不符合执行的表达式 最简单的例子
SELECT NAME,account,
CASEsex WHEN 1 THEN男 WHEN 0 THEN女 ELSE 不男不女 END AS sex
FROMt_user结果如下
(2) 相当于if elseif的作用
SELECT NAME,account,
CASEWHEN LENGTH( trim( NAME ) ) 4 THEN名字长的 ELSE 名字短的 END AS nameLen
FROMt_usercase函数当然也可以作用于where子句中例如 SELECT column1, column2 FROM table_name WHERE CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ELSE result3 END; 其中condition1和condition2是条件表达式result1、result2和result3是对应条件的结果。如果条件表达式为真则返回对应的结果否则返回ELSE子句中的结果。chatGBT告诉我的。。。
5、COALESCE函数
COALESCE 函数接受多个参数返回其中第一个非 NULL 的参数值。
SELECT COALESCE(name, email, Unknown) AS contact FROM users;在上面的示例中如果 name 列的值不为空则返回 name 列的值如果 name 列的值为空但 email 列的值不为空则返回 email 列的值如果 name 和 email 列的值都为空则返回字符串 ‘Unknown’。
二、字符串类GBT答案
1、用于select、insert等子句中
例如假设有一张名为users的表包含了用户的姓名和邮箱信息。我们可以使用上述字符串函数对这些信息进行处理和查询例如
连接字符串 SELECT CONCAT(first_name, ’ , last_name) AS full_name FROM users;
截取字符串 SELECT SUBSTRING(email, 1, 5) AS domain FROM users;
计算字符串长度 SELECT LENGTH(first_name) AS name_length FROM users;
替换字符串 SELECT REPLACE(email, ‘’, ‘at’) AS modified_email FROM users;
这些例子只是展示了如何在MySQL表中使用字符串函数。在实际的数据处理中我们可以根据具体的需求和情况使用不同的字符串函数以提高数据处理效率。
2、用于where子句中
使用LIKE和CONCAT函数筛选名字以John开头的数据行 SELECT * FROM users WHERE CONCAT(first_name, ’ , last_name) LIKE ‘John%’;
使用LIKE和SUBSTRING函数筛选邮箱域名为email.com的数据行 SELECT * FROM users WHERE SUBSTRING(email, -10) LIKE ‘email.com’;
INSTR(str, substr) INSTR函数用于返回字符串中子字符串的位置如果未找到则返回0。例如
SELECT * FROM users WHERE INSTR(email, ‘john’) 0; – 匹配包含john的邮箱
TRIM(str) TRIM函数用于删除字符串中的空格或指定的字符。例如
SELECT * FROM users WHERE TRIM(first_name) ‘John’; – 匹配名字为John的用户忽略前后的空格
ASCII(char) ASCII函数返回给定字符的ASCII码值。例如
SELECT * FROM users WHERE ASCII(SUBSTR(first_name, 1, 1)) 65; – 匹配名字首字母为’A’的用户
其他函数
列举一下 聚合函数Aggregate Functions对一组数据进行聚合计算如 SUM、AVG、MAX、MIN 等。 数学函数Mathematical Functions执行数学计算如 ABS、CEILING、FLOOR、LOG、POWER、ROUND、SQRT 等。 日期和时间函数Date and Time Functions对日期和时间进行操作如 CURDATE、CURTIME、DATE、TIME、YEAR、MONTH、DAY、HOUR、MINUTE、SECOND、NOW 等。