暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySql常用的数据处理算子案例

数码百科 2024-06-13
60

1. 使用子查询(Subquery)进行筛选:


```sql

SELECT column_name(s)

FROM table_name

WHERE column_name IN (SELECT column_name FROM table_name WHERE condition);

```


2. 使用UNION操作符合并两个SELECT语句的结果集:


```sql

SELECT column_name(s) FROM table1

UNION

SELECT column_name(s) FROM table2;

```


3. 使用EXISTS操作符检查子查询是否有返回结果:


```sql

SELECT column_name(s)

FROM table_name t1

WHERE EXISTS (SELECT column_name FROM table_name t2 WHERE condition);

```


4. 使用CASE表达式进行条件判断:


```sql

SELECT column_name,

      CASE

          WHEN condition1 THEN result1

          WHEN condition2 THEN result2

          ELSE result3

      END

FROM table_name;

```


5. 使用GROUP_CONCAT函数将多行数据合并为一行:


```sql

SELECT column_name, GROUP_CONCAT(column_name SEPARATOR ', ')

FROM table_name

GROUP BY column_name;

```


6. 使用LAG和LEAD函数获取前一行和后一行的数据:


```sql

SELECT column_name, LAG(column_name, offset) OVER (ORDER BY column_name), LEAD(column_name, offset) OVER (ORDER BY column_name)

FROM table_name;

```


7. 使用窗口函数(Window Function)进行分组统计:


```sql

SELECT column_name, COUNT(*) OVER (PARTITION BY column_name) AS count

FROM table_name;

```


8. 使用COALESCE函数处理NULL值:


```sql

SELECT COALESCE(column_name, default_value)

FROM table_name;

```


9. 使用DATEDIFF函数计算日期差:


```sql

SELECT DATEDIFF(date1, date2) AS days_difference

FROM table_name;

```


10. 使用REGEXP正则表达式匹配字符串:


```sql

SELECT column_name

FROM table_name

WHERE column_name REGEXP pattern;

```


11. 使用IFNULL函数处理NULL值:


```sql

SELECT IFNULL(column_name, default_value)

FROM table_name;

```


12. 使用DATE_FORMAT函数格式化日期:


```sql

SELECT DATE_FORMAT(date, format) AS formatted_date

FROM table_name;

```


13. 使用REPLACE函数替换字符串中的字符:


```sql

SELECT REPLACE(column_name, old_string, new_string)

FROM table_name;

```


14. 使用ROUND函数四舍五入数字:


```sql

SELECT ROUND(column_name, decimal_places)

FROM table_name;

```


15. 使用DATEDIFF函数计算时间差:


```sql

SELECT TIMESTAMPDIFF(unit, datetime1, datetime2) AS time_difference

FROM table_name;

```


16. 使用SUBSTRING函数截取字符串:


```sql

SELECT SUBSTRING(column_name, start, length)

FROM table_name;

```


17. 使用TRIM函数去除字符串两端的空格:


```sql

SELECT TRIM(column_name)

FROM table_name;

```


18. 使用LIKE操作符进行模糊匹配:


```sql

SELECT column_name

FROM table_name

WHERE column_name LIKE pattern;

```


19. 使用INSTR函数查找子字符串在字符串中的位置:


```sql

SELECT INSTR(column_name, substring) AS position

FROM table_name;

```


20. 使用REVERSE函数反转字符串:


```sql

SELECT REVERSE(column_name)

FROM table_name;


```


21. 使用DATE_SUB函数计算日期减去指定天数后的日期:


```sql

SELECT DATE_SUB(date, INTERVAL expr unit) AS new_date

FROM table_name;

```


22. 使用DATE_ADD函数计算日期加上指定天数后的日期:


```sql

SELECT DATE_ADD(date, INTERVAL expr unit) AS new_date

FROM table_name;

```


23. 使用CONCAT函数连接两个或多个字符串:


```sql

SELECT CONCAT(string1, string2, ...) AS concatenated_string

FROM table_name;

```


24. 使用LENGTH函数获取字符串的长度:


```sql

SELECT LENGTH(column_name) AS length

FROM table_name;

```


25. 使用REPEAT函数重复字符串指定次数:


```sql

SELECT REPEAT(string, count) AS repeated_string

FROM table_name;

```


26. 使用INSTR函数查找子字符串在字符串中的位置(不区分大小写):


```sql

SELECT INSTR(LOWER(column_name), LOWER(substring)) AS position

FROM table_name;

```


27. 使用REGEXP_REPLACE函数替换字符串中的字符(支持正则表达式):


```sql

SELECT REGEXP_REPLACE(column_name, pattern, replacement) AS replaced_string

FROM table_name;

```


28. 使用IF函数进行条件判断:


```sql

SELECT IF(condition, value_if_true, value_if_false) AS result

FROM table_name;

```


29. 使用GREATEST和LEAST函数分别返回最大值和最小值:


```sql

SELECT GREATEST(column_name1, column_name2, ...) AS max_value,

LEAST(column_name1, column_name2, ...) AS min_value

FROM table_name;

```


30. 使用FORMAT函数格式化数字:


```sql

SELECT FORMAT(number, decimals) AS formatted_number

FROM table_name;

```


31. 使用DATEDIFF函数计算两个日期之间的天数差(支持跨年):


```sql

SELECT DATEDIFF(date1, date2) AS days_difference

FROM table_name;

```


32. 使用STR_TO_DATE函数将字符串转换为日期格式:


```sql

SELECT STR_TO_DATE(string, format) AS date

FROM table_name;

```


33. 使用SUBSTRING_INDEX函数截取字符串中的子串:


```sql

SELECT SUBSTRING_INDEX(column_name, delimiter, count) AS substring

FROM table_name;

```


34. 使用REPLACE函数替换字符串中的字符(支持正则表达式):


```sql

SELECT REPLACE(column_name, pattern, replacement) AS replaced_string

FROM table_name;

```


35. 使用REGEXP_INSTR函数查找子字符串在字符串中的位置(支持正则表达式):


```sql

SELECT REGEXP_INSTR(column_name, pattern) AS position

FROM table_name;

```


36. 使用CONCAT_WS函数连接多个字符串,用指定的分隔符分隔:


```sql

SELECT CONCAT_WS(separator, string1, string2, ...) AS concatenated_string

FROM table_name;

```


37. 使用REVERSE函数反转字符串(支持多字节字符集):


```sql

SELECT REVERSE(column_name) AS reversed_string

FROM table_name;

```


38. 使用IFNULL函数处理NULL值(支持多个参数):


```sql

SELECT IFNULL(column_name1, column_name2, ...) AS result

FROM table_name;

```


39. 使用COALESCE函数处理NULL值(支持多个参数):


```sql

SELECT COALESCE(column_name1, column_name2, ...) AS result

FROM table_name;

```


40. 使用CAST函数将数据类型转换为另一种数据类型:


```sql

SELECT CAST(column_name AS data_type) AS converted_value

FROM table_name;

```


41. 使用DATE_FORMAT函数格式化日期(支持自定义格式):


```sql

SELECT DATE_FORMAT(date, format) AS formatted_date

FROM table_name;

```


42. 使用SUBSTRING函数截取字符串中的子串(支持正则表达式):


```sql

SELECT SUBSTRING(column_name FROM start FOR length) AS substring

FROM table_name;

```


43. 使用REGEXP_REPLACE函数替换字符串中的字符(支持多字节字符集):


```sql

SELECT REGEXP_REPLACE(column_name, pattern, replacement) AS replaced_string

FROM table_name;

```


44. 使用INSTR函数查找子字符串在字符串中的位置(支持多字节字符集):


```sql

SELECT INSTR(column_name, substring) AS position

FROM table_name;

```


45. 使用LENGTH函数获取字符串的长度(支持多字节字符集):


```sql

SELECT LENGTH(column_name) AS length

FROM table_name;

```


46. 使用REPEAT函数重复字符串指定次数(支持多字节字符集):


```sql

SELECT REPEAT(string, count) AS repeated_string

FROM table_name;

```


47. 使用CONCAT函数连接两个或多个字符串(支持多字节字符集):


```sql

SELECT CONCAT(string1, string2, ...) AS concatenated_string

FROM table_name;

```


48. 使用REVERSE函数反转字符串(支持多字节字符集和自定义分隔符):


```sql

SELECT REVERSE(column_name SEPARATOR separator) AS reversed_string

FROM table_name;

```


49. 使用IF函数进行条件判断(支持多参数):


```sql

SELECT IF(condition1, value_if_true1, value_if_false1, condition2, value_if_true2, value_if_false2, ...) AS result

FROM table_name;

```


50. 使用GREATEST和LEAST函数分别返回最大值和最小值(支持多参数):


```sql

SELECT GREATEST(column_name1, column_name2, ...) AS max_value,

LEAST(column_name1, column_name2, ...) AS min_value

FROM table_name;

```


文章转载自数码百科,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论