sql语句知识点积累

1.DATE_FORMAT() 用法

定义和用法

DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。

语法

DATE_FORMAT(date,format)

date 参数是合法的日期。format 规定日期/时间的输出格式。

常用例子:

1.想实现用laravel查询数据中的某个时间字段转日期格式(时间戳转日期格式):

先用函数:FROM_UNIXTIME,将MYSQL中以INT(11)存储的时间以"YYYY-MM-DD"格式来显示。

语句 : DATE_FORMAT(FROM_UNIXTIME(enter_at), '%Y-%m-%d %H:%i:%s')

例子:

$res = self::select('room_id','duration',

    \DB::raw("DATE_FORMAT(FROM_UNIXTIME(enter_at), '%Y-%m-%d %H:%i:%s') as enter_at"),

    \DB::raw("DATE_FORMAT(FROM_UNIXTIME(quit_at), '%Y-%m-%d %H:%i:%s') as quit_at")

)->get()->toArray();

2.按(日)分组汇总统计数据

laravel中可以这么写:

->whereDate('push_time','>=','2019-01-01')
->whereDate('push_time','<=','2019-01-10')
->selectRaw("DATE_FORMAT(crontab_doctor_integral.push_time, '%Y-%m-%d') as time")
->groupBy('time')

3.按(月)分组汇总统计数据

->whereDate('push_time','>=','2019-01-01')
->whereDate('push_time','<=','2019-10-10')
->selectRaw("DATE_FORMAT(crontab_doctor_integral.push_time, '%Y-%m') as time")
->groupBy('time')

一、CASE WHEN用法

1.  case 字段

        when 条件 then 结果

        else 结果

    end;

2.  case

        when 条件 then 结果

        when 条件 then 结果

        else 结果

    end;

注:当处理null字段是要用第二种方法,第一种方法查询的结果是错的

用法1:咱们在设计数据库的时候总是会把用户的性别用int存储('0'为女,'1'为男),但是怎么把它转换成汉字显示呢?

select
name as '名字',
(case sex when 0 then '女' else '男' end) 
as '性别' 
from  student

 用法2:

例如 有一张user表 含有两个字段user_id和 user_name

需求: 当user_name为null时 给user_name赋值李四

SELECT
 CASE user_name
   WHEN NULL THEN '李四'
   ELSE user_name
 END AS userName
FROM
  USER;

3.WEEK(date[,mode]):该函数返回日期的星期数

 

 

模式星期的第一天范围星期 1 是第一天
0Sunday0-53一年中多一个星期天
1Monday0-53一年多3天
2Sunday1-53一年中多一个星期天
3Monday1-53一年多3天
4Sunday0-53一年多3天
5Monday0-53一年中多一个星期一
6Sunday1-53一年多3天
7Monday1-53一年中多一个星期一
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值