一:日期加减天数,Date比较
1:日期加减操作
select date_add(now(), interval 1 day); - 加1天
select date_add(now(), interval 1 hour); -加1小时
select date_add(now(), interval 1 minute); - 加1分钟
select date_add(now(), interval 1 second); -加1秒
select date_add(now(), interval 1 microsecond);-加1毫秒
select date_add(now(), interval 1 week);-加1周
select date_add(now(), interval 1 month);-加1月
select date_add(now(), interval 1 quarter);-加1季
select date_add(now(), interval 1 year);-加1年
#实际使用 5年前,5年后
UPDATE supplier SET create_time = DATE_ADD( create_time, INTERVAL -5 YEAR ) ;
UPDATE supplier SET create_time = DATE_ADD( create_time, INTERVAL 5 YEAR ) ;
#日期比较 一天后的时间相等操作
select s.* from supplier s,bank b
where s.create_time = DATE_ADD(b.RecordDate, INTERVAL 1 DAY)
二:字符串截取操作
1、字符串拆分: SUBSTRING_INDEX(str, delim, count)
- 参数解说
参数名 | 解释 |
---|---|
str | 需要拆分的字符串 |
delim | 分隔符,通过某字符进行拆分 |
count | 当 count 为正数,取第 n 个分隔符之前的所有字符; 当 count 为负数,取倒数第 n 个分隔符之后的所有字符。 |
2. 举例 以“:”逗号为分隔符之前的所有字符。
select SUBSTRING_INDEX('刘晓宇:13187211622',':',1) 提取姓名
SELECT SUBSTRING_INDEX('刘晓宇:13187211622',':',-1) 提取手机号
#把名字抽出来放到联系人字段中
UPDATE supplier SET contact_name = SUBSTRING_INDEX( '刘晓宇:13187211622',':',1 ) ;
#把手机号码抽出来放到手机号字段中
UPDATE supplier SET mobile_phone = SUBSTRING_INDEX( '刘晓宇:13187211622',':',-1 ) ;
三:替换 REPLACE
参数名 | 解释 |
---|---|
field_name | 需要替换的字符串 |
string_to_find | 目标字符 |
string_to_replace | 替换字符串,当 string_to_find 找到后就用 string_to_replace 替换成新的 field_name 字符串。 |
1、实例
#常用的数据库替换 标点符号
UPDATE market_info SET specifi=REPLACE( specifi, ' ; ', ';' );
UPDATE market_info SET specifi=REPLACE( specifi, ' ;', ';' );
#常用的数据库替换 文字
UPDATE market_info SET remark=REPLACE( remark, '简介:', '备注:' );
四:字符串长度:LENGTH( str )
1、参数解说
参数名 | 解释 |
---|---|
str | 需要计算长度的字符串 |
2、 举例
(1)获取 ‘中华人民共和国万岁’ 字符串的长度
#中文和英文会发生很奇妙的结果,试试
SELECT LENGTH('中华人民共和国万岁') ;
SELECT LENGTH('we live in china') ;
五:多个查询列结果合并:CONCAT(str1,str2,…)
1、参数解说
mysql CONCAT() 函数用于将多个字符串连接成一个字符串
语法:
CONCAT(str1,str2,…)
返回结果:
-
返回结果为连接参数产生的字符串。
-
如有任何一个参数为NULL ,则返回值为 NULL。
2、 举例
# 查询一个固定值
SELECT CONCAT('a','b','c');
#具体查询表结构
SELECT CONCAT(IFNULL(m.name,''),' ',IFNULL(m.price,'')) FROM market_price m LIMIT 100 ;
六:查询固定的数据类型,字典类型转换处理 CASE WHEN THEN ELSE END
1、参数解说
case…when…then…else…end,是在from前面,可以改变记录中某字段的值,不能决定是否显示该记录
case…when…then…else…end,可用于对同一记录的多个字段求和,带分支判断。
2、实际应用
SELECT cp.name, cp.unit, cp.price
, CASE
WHEN cp.source_type = 1 THEN '主材'
ELSE '材料'
END AS source_type
FROM collect_price cp
LIMIT 100
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/160876.html