开发中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'

相关推荐
chushiyunen5 分钟前
dom操作笔记、xml和document等
xml·java·笔记
whisperrr.5 分钟前
【spring01】Spring 管理 Bean-IOC,基于 XML 配置 bean
xml·java·spring
chushiyunen8 分钟前
tomcat使用笔记、启动失败但是未打印日志
java·笔记·tomcat
天上掉下来个程小白14 分钟前
HttpClient-03.入门案例-发送POST方式请求
java·spring·httpclient·苍穹外卖
ModestCoder_24 分钟前
将一个新的机器人模型导入最新版isaacLab进行训练(以unitree H1_2为例)
android·java·机器人
热爱编程的小曾29 分钟前
sqli-labs靶场 less 8
前端·数据库·less
THRUSTER1111138 分钟前
MySQL-- 函数(单行函数):数值函数, 字符串函数
数据库·mysql·函数·navicat·单行函数
橙序研工坊44 分钟前
MySQL的进阶语法7(索引-B+Tree 、Hash、聚集索引 、二级索引(回表查询)、索引的使用及设计原则
数据库·sql·mysql
a180079310801 小时前
软件工程面试题(二十二)
java·面试·软件工程
Bruce-li__1 小时前
深入理解Python asyncio:从入门到实战,掌握异步编程精髓
网络·数据库·python