Mysql的常用

1、时间计算 timestampdiff() 函数

TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)

  作用:计算两个日期、时间表达式(datetime_expr1 和 datetime_expr1)之间相差的天数、周数、小时数、分钟、秒数。

  返回:日期或者时间表达式之间的证书差

  参数:unit有以参数可以用:

    1、FRAC_SECOND 表示间隔是毫秒
    2、SECOND 秒
    3、MINUTE 分钟
    4、HOUR 小时
    5、DAY 天
    6、WEEK 星期
    7、MONTH 月
    8、QUARTER 季度
    9、YEAR 年

  举例:计算两日期之间相差多少分钟

select timestampdiff(MINUTE,'2023-01-01','2023-06-30');

 2、字符串拼接的几种方式

第一种:CONCAT(string1,string2,...)

mysql自带语法CONCAT(string1,string2,...),此处是直接把string1和string2等等的字符串拼接起来(无缝拼接)

  select CONCAT(area,'的',`name`) as test from province

  

第二种:CONCAT_WS(separator,string1,string2,...)

mysql自带语法CONCAT_WS(separator,string1,string2,...),但是可以多个字符串用指定的字符串进行拼接
string1,string2代表的是字符串,而separator代表的是连接其他参数的分隔符,可以是符号,也可以是字符串。如果分隔符为NULL,则结果为NULL。此方法参数可以为NULL。
  select CONCAT_WS("=",area,'的',type,`name`) as test from province;

  

第三种:GROUP_CONCAT([DISTINCT]

mysql的自带语法GROUP_CONCAT([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
  select area,GROUP_CONCAT(`name`) from province GROUP BY area; # 默认风格符是","

  

  select area,GROUP_CONCAT(`name` SEPARATOR '#') from province GROUP BY area; # 指定风格符为“#“

  

  select area,GROUP_CONCAT(`name` ORDER BY `name` desc) from province GROUP BY area; # 按照name排序

  

  select type,GROUP_CONCAT(DISTINCT `name` ORDER BY `name` desc) from province GROUP BY type; # 按照name排序

  

第四种 运算  

  select `name`,`code`+99 from province;

  

 3、if表达式

  IF(expr1,expr2,expr3)

  如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。

 

4、修改时间戳

update tx_lunar set update_date = str_to_date('2024-03-28 00:00:01' ,'%Y-%m-%d %H:%i:%S') where update_date is null;

 

posted @   zhangpba  阅读(168)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
历史上的今天:
2021-01-04 springboot启动报错:ERROR org.springframework.boot.SpringApplication - Application run failed
点击右上角即可分享
微信分享提示