一:日期加减天数,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') ;