- SQL中
IF
、IFNULL
函数的使用
<!-- if判断,如果a满足条件,返回b,否则返回c -->
IF(a, b, c)
<!--如果a为空,则赋值为b,否则是a-->
IFNULL(a, b)
- SQL中
INSTR
函数的使用
<!--
STR 被搜索的字符串;
SUBSTR 希望搜索的字符串;
在字符串STR里面,字符串SUBSTR出现的第一个位置(INDEX),INDEX是从1开始计算,如果没有找到就直接返回0,没有返回负数的情况
-->
INSTR(STR,SUBSTR)
注:INSTR
和LIKE
的相同处以及区别
-
instr>0
和like
、instr=0
和not like
一般来说查询的结果相同(不考虑特殊字符); -
instr
是一个函数,可以建立函数索引,如果过滤的条件有索引,那么instr
就可以提高性能; -
like
查询时,以’%'开头,列所加的索引是不起作用; - 在没有索引的前提下,当数据量比较大时,
instr
要比like
效率高; -
instr
作为查询条件没有与数值进行比较时默认为instr>0
;
- SQL中
REPLACE
函数
<!-- 将“str”字符串中的“from_str”替换成“to_str” -->
REPLACE(str,from_str,to_str)
- SQL中
GROUP_CONCAT
函数
<!-- 默认拼接以英文逗号","分割 -->
GROUP_CONCAT(column)
<!-- SEPARATOR可以自定义分隔符 -->
GROUP_CONCAT(column SEPARATOR '_')
- SQL中
DATE_ADD
函数
在当前的日期上加三天,天数随便改:
SELECT date_add(CURRENT_DATE(), interval 3 day);
在指定的日期上加三天:
SELECT date_add('2022-02-25', interval 3 day);
在指定的具体时间上加一个时间:
如在"2022年2月25日两点"加上一个小时零十分零十秒的MySQL语句为:
select date_add('2022-02-25 2:00:00', interval '1:10:10' hour_second);
-- 结果 2022-02-25 03:10:10
select date_add(日期, interval 1 day); 日期加天
select date_add(日期, interval 1 hour); 日期加小时
select date_add(日期, interval 1 minute); 日期加分
select date_add(日期, interval 1 second);日期加秒
select date_add(日期, interval 1 microsecond); 日期加微秒
select date_add(日期, interval 1 week); 日期加周
select date_add(日期, interval 1 month); 日期加月
select date_add(日期, interval 1 quarter); 日期加季度
select date_add(日期, interval 1 year); 日期加年
- SQL中
DATE_FORMAT
函数
# 语法
DATE_FORMAT(date,format)
# 例子:
DATE_FORMAT(now(), "%Y-%m-%d %H:%i:%s")