开发中SQL积累

1.SQL中判断varchar类型是否为空?

检查 NULL 值:

sql 复制代码
WHERE column_name IS NULL

检查空字符串:

sql 复制代码
WHERE column_name = ''

结合 NULL 和空字符串的检查:

sql 复制代码
WHERE column_name IS NULL OR column_name = ''

2.TRIM函数

作用:去掉字符串前后的空格

sql 复制代码
SELECT *
FROM your_table_name
WHERE TRIM(column_name) = '';

3.COALESCE函数

作用:返回其参数中的第一个非 NULL 值。它可以接受多个参数,并从左到右依次评估这些参数,直到找到第一个非 NULL 的值并返回。如果所有参数都是 NULL,则返回 NULL。

sql 复制代码
SELECT COALESCE(column1, column2, 'default_value') AS result
FROM your_table_name;

解释:COALESCE 将返回 column1 的值,如果 column1 是 NULL,则返回 column2 的值,如果 column2 也是 NULL,则返回 'default_value'。

4.NULLIF函数

作用:如果字段A等于空字符串则该字段设置为空

sql 复制代码
SELECT 
COALESCE(NULLIF(urls, ''),avatar,'nonono' ) a
FROM
	lspace_diga.off_user

5.CURDATE()函数

作用:返回当天的日期(不包含时间)

6.DATEDIFF函数

作用:计算两个日期之间的天数 CURDATE()大,2000-05-04小

sql 复制代码
SELECT
	DATEDIFF(
	CURDATE(),
	'2000-05-04')

答案:8961

7.FLOOR向下取整

8.CONCAT_WS函数

作用:拼接字符串,如果该字段为空的话直接跳过,不会拼接

sql 复制代码
SELECT
    CONCAT_WS(',', 
        NULLIF(urls, ''), 
        age, 
        avatar
    ) AS concatenated_result
FROM
    lspace_diga.off_user;

9.REPLACE函数

作用:它的基本用法是在一个给定的字符串中,用新的子字符串替换旧的子字符串

语法:

REPLACE(input_string, from_substring, to_substring)

input_string: 原始字符串,你希望在其中进行替换操作。

from_substring: 需要被替换的子字符串。

to_substring: 用于替换的新的子字符串。

示例:

假设你有一个字符串 "Hello World" 并希望将 "World" 替换为 "SQL"

sql 复制代码
SELECT REPLACE('Hello World', 'World', 'SQL');

结果: 'Hello SQL'

sql 复制代码
SELECT REPLACE('Remove all spaces', ' ', '');

结果: 'Removeallspaces'

相关推荐
越努力越幸运663 分钟前
Java 无需 Office 环境实现 Word 转 HTML
java
用户8176967132354 分钟前
Java OOM 排查完整指南:从告警到根因,MAT 堆分析全流程实战
java
要开心吖ZSH1 小时前
AI医疗分诊与健康咨询助手agent开发——(0)项目背景与概要
java·ai·agent·健康医疗·rag
后青春期的诗go1 小时前
泛微OA-E9与第三方系统集成开发企业级实战记录(十五)
java·泛微·集成开发·e9
吃口巧乐兹2 小时前
理解 Agent 中的 Slash Command:从概念到自定义命令实践
java·github
小小龙学IT2 小时前
Drizzle ORM:TypeScript 生态中冉冉升起的数据库工具链引言
javascript·数据库·typescript
夕除3 小时前
shizhan--10
java·开发语言
ECT-OS-JiuHuaShan3 小时前
什么是对和错?——“有针对性定义域的逻辑值的真伪”:认识论终极追问的公理化裁决
数据库·人工智能·算法·机器学习·数学建模
乐维_lwops3 小时前
多类型数据库如何高效监控?
数据库·数据库监控·运维监控
吴声子夜歌3 小时前
JVM——并发容器实现原理
java·jvm·并发容器