Mysql 笔记

记Mysql中遇到的问题

  1. 时间增加8小时 date_add(Material.ProductionDate,INTERVAL 8 hour) as 别名
  2. 时间减少8小时 date_sub(Material.ProductionDate,INTERVAL 8 hour) as 别名
  3. 日期时间格式转换成日期格式
 select date(now()) as time
  1. 获得日期所在的年、月、日、时、分、秒
	select 
	now() as now,
	year(now()) as year,
	month(now())as month,
	week(now())as week,
	day(now())as day,
	time(now())as time,
	hour(now())as hour,
	minute(now())as minute,
	second(now())as second,
	microsecond(now()) as mincrosecond

在这里插入图片描述
5. 获得年份的后两位。比如2022年转换后22
select year(now()) as now,year(now())% 100 as year在这里插入图片描述
7. 日期格式转换成整型

select now(),convert(convert(now(),DATE),SIGNED) as time

在这里插入图片描述

**关于时间的详细具体细节请参考 **https://blog.csdn.net/wyk123_046/article/details/122998529

  1. 把几个字段合成一个显示
    CONCAT_WS(“字段之间分隔的符号”,字段,字段) AS 别名
  2. 保留有效数字位。比如 1.0100 转换后 1.01
    ltrim(cast(字段名 as float)) as 别名
  3. 在数字前加0补足数字位。比如 1 转换成 0001
    select right(‘1000000’+cast(1 as varchar(20)),4) as num
    1表示基础数字,4是一共4位
  4. 保留几位小数
    round(字段,3) 保留3位小数
  5. 想要判断 case
    (case
    when PurchaseOrder.PurchaseOrderId then ReceiveOrder.Name
    when TransferOrder.TransferOrderId then ReceiveOrder1.Name
    when ReturnOrder.ReturnOrderId then ReceiveOrder2.Name
    end ) as 别名
  6. mysql 判断 if
    语法 IF(expr1,expr2,expr3)
    IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值
  7. 把同一分组下的某个字段放到同一行上
    语法:group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符’])
    1、SELECT id,GROUP_CONCAT(score) FROM testgroup GROUP BY id
    默认用逗号分隔,但有重复数值
    2、去重:SELECT id,GROUP_CONCAT(DISTINCT score) FROM testgroup GROUP BY id
    3、排序:SELECT id,GROUP_CONCAT(score ORDER BY score DESC) FROM testgroup GROUP BY id
    4、分隔符:SELECT id,GROUP_CONCAT(score SEPARATOR ‘;’) FROM testgroup GROUP BY id
  8. 分组,取一组数据某个字段的第几个
    substring_index(GROUP_CONCAT(字段 SEPARATOR ‘’), '’, -1)
    substring_index(被截取字段,关键字,关键字出现的次数)
    注:如果关键字出现的次数是负数 如-2 则是从后倒数,到字符串结束
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值