Select字段时:
CASE WHEN type=1 THEN 1 ELSE 0 END as type1
sum和count同样可以使用case then
时间戳转时间:
FROM_UNIXTIME(time,'%Y-%m-%d')
计算第一个时间与第二个时间差几天
DATEDIFF('2018-11-11', '2018-11-10') //1
DATEDIFF('2018-11-11', '2018-11-12') //-1
DATEDIFF(CURDATE(), FROM_UNIXTIME(time/1000,'%Y-%m-%d')) daydiff
CURDATE() //当前时间data
字符串操作
substring(被截取字段,从第几位开始截取,截取长度)
以下是上述语句的SQL标准版本,它更长,但更具表现力。
SUBSTRING(string FROM position FOR length);
参考:http://www.yiibai.com/mysql/substring.html
更新字符串的某部分
UPDATE `dede_addonarticle` SET body = REPLACE ( body, '</td>', '' );
查询解析json
JSON_EXTRACT(result,'$.data.name')
正则查询
REGEXP
SELECT * FROM `notice` WHERE `title` REGEXP 'a|b'
lavavel
->where('title', 'REGEXP', "a|b");
MYSQL like + 变量
like concat('%',@变量,'%')
mysql字符大小写转换
1. LOWER()将大写转成小写
SELECT LOWER('MySql');输出mysql。
2. UPPER() 将小写转成大写
SELECT UPPER('MySql');输出MYSQL。
完整sql高阶学习:http://www.w3school.com.cn/sql/index.asp