展开

关键词

【问答】MySQL DATE_FORMAT函数怎么用?

问: 在MySQL中如何使用DATE_FORMAT() 函数? 在我们平常使用MySQL时,有可能会对某些日期数据进行格式化,使它变为我们想要的格式,此时我们就会使用 DATE_FORMAT(date,format) 函数。 注:所谓格式化就是将一个东西的展示形式或者存储成指定的形式,比如一个字符串20201125你想让它以 年-月-日 的形式(格式)展示,那么它格式化之后就是 2020-11-25 DATE_FORMAT(

70130

每月交易 I(date_format

解题 # Write your MySQL query statement below select date_format(trans_date, '%Y-%m') month, country trans_total_amount, sum(if(state='approved', amount, 0)) approved_total_amount from Transactions group by date_format

14220
  • 广告
    关闭

    开发者专享福利,1988元优惠券限量发放

    带你体验博客、网盘相册搭建部署、视频渲染、模型训练及语音、文字识别等热门场景。云服务器低至65元/年,GPU15元起

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL 日期和时间戳的转换 | 以及DATE_FORMAT()用法

    -- format请参考后面的截图 select FROM_UNIXTIME(1545711900,'%Y-%m-%d %T'); -- 结果:2018-12-25 12:25:00 ---- 二、DATE_FORMAT format 规定日期/时间的输出格式 可以使用的格式有 ---- 示例: select DATE_FORMAT(NOW(), '%Y-%m-%d %T'); 结果:2018-12-25 12:

    7120

    摸个鱼的功夫,就学会了MySQL的DATE_FORMAT函数

    第二天,由于和朋友开黑打了两把王者,计划延后了几年~   在MySQL中对于处理时间字段,有专门封装的DATE_FORMAT函数,可以说,DATE_FORMAT函数可以基本满足任何时间字段的处理需求。 DATE_FORMAT(date,format) 函数 参数解析: 1、date:代表具体时间字段,也可以为now()查询当前时间; 2、format:DATE_FORMAT将传来的Date类型数据转为自己需要的格式 :22:18:58 SELECT DATE_FORMAT(NOW(),'%H'); -- 结果:22 对于上面的需求1,用DATE_FORMAT函数的查询方式如下: SELECT DATE_FORMAT(createTime,'%Y-%m-%d') = '2020-11-11' GROUP BY DATE_FORMAT(createTime,'%Y-%m-%d %H' ' from t_order where DATE_FORMAT(createTime,'%Y-%m-%d') = '2020-11-11' GROUP BY DATE_FORMAT(createTime

    11130

    mysql查询今天、昨天、7天、近30天、本月、上一月 数据

    SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名) 本月 SELECT * FROM 表名 WHERE DATE_FORMAT ( 时间字段名, '%Y%m' )     = DATE_FORMAT( CURDATE( ) , '%Y%m' ) 上一月 SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) ,     date_format( 时间字段名, '%Y%m' ) ) =1 #查询本季度数据 select * from `ht_invoice_information (submittime,'%Y-%m')    =date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m') select * from ` user ` where DATE_FORMAT(pudate, ' %Y%m ' )    = DATE_FORMAT(CURDATE(), ' %Y%m ' ) ; select * from

    81420

    mysql 查询当天、本周,本月,上一个月的数据

    ( 时间字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' ) 上一月 SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format ( now( ) , '%Y%m' ) , date_format( 时间字段名, '%Y%m' ) ) =1 查询本季度数据 select * from `ht_invoice_information (submittime,'%Y-%m')=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m') select * from user where DATE_FORMAT(pudate,'%Y%m') = DATE_FORMAT(CURDATE(),'%Y%m') ; select * from user where WEEKOFYEAR(FROM_UNIXTIME (submittime,'%Y-%m')=date_format(now(),'%Y-%m') 查询距离当前现在6个月的数据 select name,submittime from enterprise

    2.6K30

    面对高难度的 Sql 需求,HQL没在怕的!

    THEN 0 ELSE H.cnt END cnt from ( select * from( select 1 user_id,date_format /1/7 21:15:25', '/', '-'), 'yyyy-MM-dd HH:mm:ss') scan_time union all select 1 user_id,date_format /1/13 21:14:09', '/', '-'), 'yyyy-MM-dd HH:mm:ss') scan_time union all select 2 user_id,date_format /1/13 21:18:19', '/', '-'), 'yyyy-MM-dd HH:mm:ss') scan_time union all select 2 user_id,date_format /1/13 21:20:36', '/', '-'), 'yyyy-MM-dd HH:mm:ss') scan_time union all select 3 user_id,date_format

    9820

    MYSQL查询今天、昨天、上月、本月的数据

    ( 时间字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' ) 上一月 SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format ( now( ) , '%Y%m' ) , date_format( 时间字段名, '%Y%m' ) ) =1 #查询本季度数据 select * from `ht_invoice_information (submittime,'%Y-%m')=date_format(now(),'%Y-%m') 查询距离当前现在6个月的数据 select name,submittime from enterprise (submittime,'%Y-%m')=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m') select * from ` user ` where DATE_FORMAT(pudate, ' %Y%m ' ) = DATE_FORMAT(CURDATE(), ' %Y%m ' ) ; select * from user where

    40210

    MYSQL中日期与字符串间的相互转换

    rq字段信息为:20100901 1、无需转换的: SELECT * FROM tairlist_day WHERE rq>’2010-07-31′ AND rq<‘2010-09-01’ 2、使用:DATE_FORMAT SELECT * FROM tairlist_day WHERE DATE_FORMAT( rq, ‘%Y-%m-%d’)>’2010-08-01′ AND DATE_FORMAT( rq, ‘%Y- 建议使用第2种 二、日期转字符串 mysql> select date_format(now(),'%Y'); +-------------------------+ | date_format(now ---------------------+ 1 row in set (0.00 sec) 扩展: %Y:年 %c:月 %d:日 %H:小时 %i:分钟 %s:秒 mysql> select date_format (now(),'%Y-%c-%d %h:%i:%s'); +----------------------------------------+ | date_format(now(),'%Y-%c-%d

    5740

    在grafana上展示YearningSQL 查询日志

    我这里的效果如下: 具体SQL如下: select date_format(a. -- 折中办法可以定期归档下这个表,确保不要太大) date_format(a. `time`, '%Y-%m-%d %H:%i') >= date_format(date_add(now(), interval -30 day), '%Y-%m-%d %H:%i') order by date_format(a. (NOW(), '%Y-%m-%d 00:00') AND DATE_FORMAT(NOW(), '%Y-%m-%d 23:59') ORDER BY ex_time DESC, DATE_FORMAT

    15520

    mysql 查询当天、本周,本月,上一个月的数据

    SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名) 本月 SELECT * FROM 表名 WHERE DATE_FORMAT ( 时间字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' ) 上一月 SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format ( now( ) , '%Y%m' ) , date_format( 时间字段名, '%Y%m' ) ) =1 查询本季度数据 select * from `ht_invoice_information (submittime,'%Y-%m')=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m') 查询当前月份的数据 select name ,submittime from enterprise where date_format(submittime,'%Y-%m')=date_format(now(),'%Y-%m') 查询距离当前现在

    34520

    MySQL查询本周、上周、本月、上个月份数据的sql代码

    * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名) SELECT * FROM 表名 WHERE YEARWEEK(date_format (submittime,'%Y-%m-%d')) = YEARWEEK(now()) 上周 SELECT * FROM 表名 WHERE YEARWEEK(date_format(submittime, '%Y-%m-%d')) = YEARWEEK(now())-1 当月 select * from 表名 where date_format(submittime,'%Y-%m')=date_format (now(),'%Y-%m') 上月 select * from 表名 where date_format(submittime,'%Y-%m')=date_format (DATE_SUB(curdate

    1.6K50

    TP框架数据库column方法使用SQL函数返回异常

    (ledger_date, "%m-%d")')->column('SUM(amount)', 'DATE_FORMAT(ledger_date, "%m-%d")') 我理想中的结果应该是 [ ('trim', explode(',', $field)); 所以实际去查询的时候,列名称,两边的空格都被去除了,变成了 SELECT DATE_FORMAT(ledger_date,"%m-%d") 但是索引的字段名没变,所以最终 DATE_FORMAT(ledger_date, "%m-%d") 不等于 DATE_FORMAT(ledger_date,"%m-%d") 导致没能生成关联数组 最终的解决方法是 Db::table('ledger')->where('create_time', 'between', ['2020-01-01', '2020-01-31'])->group('DATE_FORMAT (ledger_date,"%m-%d")')->column('SUM(amount)', 'DATE_FORMAT(ledger_date,"%m-%d")')

    23940

    MySql查询当天、本周、本月、本季度、本年的数据

    昨天 SELECT * FROM 表名 WHERE TO_DAYS(NOW()) - TO_DAYS(时间字段名) <= 1; 3.本周 SELECT * FROM 表名 WHERE YEARWEEK(DATE_FORMAT (时间字段名,'%Y-%m-%d')) = YEARWEEK(NOW()); 4.上周 SELECT * FROM 表名 WHERE YEARWEEK(DATE_FORMAT(时间字段名,'%Y-%m- SELECT * FROM 表名 WHERE DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= DATE(时间字段名); 7.本月 SELECT * FROM 表名 WHERE DATE_FORMAT (时间字段名,'%Y%m') = DATE_FORMAT(CURDATE(),'%Y%m'); 8.上月 SELECT * FROM 表名 WHERE PERIOD_DIFF(DATE_FORMAT(NOW (),'%Y%m'),DATE_FORMAT(时间字段名,'%Y%m')) = 1; SELECT * FROM 表名 WHERE DATE_FORMAT(时间字段名,'%Y%m') = DATE_FORMAT

    58972

    sql数据库查询语句大全_sql基本语句大全

    SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名) 5、本月 SELECT * FROM 表名 WHERE DATE_FORMAT ( 时间字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' ) 6、上一月 SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format ( now( ) , '%Y%m' ) , date_format( 时间字段名, '%Y%m' ) ) =1 7、查询本季度数据 select * from `ht_invoice_information date_sub(now(),interval 1 year)); 11、查询当前这周的数据 SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format (submittime,'%Y-%m')=date_format(now(),'%Y-%m') 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    3110

    MySql查询当天、本周、本月、本季度、本年的数据

    昨天 SELECT * FROM 表名 WHERE TO_DAYS(NOW()) - TO_DAYS(时间字段名) <= 1; 3.本周 SELECT * FROM 表名 WHERE YEARWEEK(DATE_FORMAT (时间字段名,'%Y-%m-%d')) = YEARWEEK(NOW()); 4.上周 SELECT * FROM 表名 WHERE YEARWEEK(DATE_FORMAT(时间字段名,'%Y-%m- SELECT * FROM 表名 WHERE DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= DATE(时间字段名); 7.本月 SELECT * FROM 表名 WHERE DATE_FORMAT (时间字段名,'%Y%m') = DATE_FORMAT(CURDATE(),'%Y%m'); 8.上月 SELECT * FROM 表名 WHERE PERIOD_DIFF(DATE_FORMAT(NOW (),'%Y%m'),DATE_FORMAT(时间字段名,'%Y%m')) = 1; SELECT * FROM 表名 WHERE DATE_FORMAT(时间字段名,'%Y%m') = DATE_FORMAT

    54331

    MySQL50-12-第46-50题

    MySQL50-12-第46-50题 本文中介绍的是第46-50题,主要的知识点:各种时间和日期函数的使用 year():返回年份 date_format(now(), '%Y%m%d') :返回年月日 参考方法 select s_name ,s_birth ,date_format(now(), '%Y') - date_format(s_birth, '%Y') - (case when date_format (now(), '%m%d') > date_format(s_birth, '%m%d') then 0 else 1 end) as age -- 当前日期大,说明已经过生了,年龄正常;反之说明今年还没有到年龄 如何返回年份/日期 通过date_format函数能够指定返回的数据 -- 两个方法 select year(now()); select date_format(now(), '%Y'); ? 参考方法 select * from Student where week(date_format(now(),'%Y%m%d')) = week(s_birth); -- 方式1 select *

    9410

    一个sql生成hive日期维度表

    ("2030-12-31", "2010-01-01")), "o"))) a ) insert overwrite table dim.dim_date select     d   , date_format (d, 'yyyyMMdd000000') as to_pt            -- 指定分区格式   , date_format(d, 'yyyyMMdd')       as date_yyyymmdd (last_day(d),'yyyyMMdd000000')   as month_last_pt   , date_format(d, 'yyyyMM')  as month_yyyymm   , date_format(d, 'yyyy-MM') as month_yyyy_mm   , month(d) as month   , date_format(d, 'u') as week   , date_format(d, 'E') as week_long      , weekofyear(d) as week_of_year   , year(d) as year   , floor

    14230

    一个分组查询引发的思考

    (case when `state`=2 or 3 then 1 else null end)/60,1) as avgWaitingTime from t_number_takers where DATE_FORMAT (takeTime,'%Y-%m') -- eg: 按年分组查询 select DATE_FORMAT(takeTime,'%Y') as '时间', round((sum(waitingTime) (takeTime,'%Y') ps: 按照时间段(年月日)进行显示时, 用到了 DATE_FORMAT() 函数, 这个改动会对后面的统计带来意想不到的影响 3. 我们可以看到汇总的那一行为空值 select DATE_FORMAT(takeTime,'%Y-%m') as '时间', round((sum(waitingTime)/count(case when (takeTime,'%Y-%m'),"合计") as '时间' select ifnull(DATE_FORMAT(takeTime,'%Y-%m'),"合计") as '时间', round((sum

    9020

    扫码关注腾讯云开发者

    领取腾讯云代金券