还在找数据库日期如何格式化嘛?看这一篇文章就够了

  • Post author:
  • Post category:其他



目录


1、MySQL数据库


2、PostgreSQL、Oracle、人大金仓


1、MySQL数据库


DATE_FORMAT() 函数

# 示例
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S')

食用方法如下:

# DATE_FORMAT(d, f)

d = date 表示是日期,传一个日期参数即可,f = format 表示日期的格式


表1. 常用的点位符号


点位符(区分大小写)

解释

%Y / %y
年,由

4位数

表示(例如 2020)/ 也表示年,不过只显示后

两位数

(例如:2021会被表示为 21)

%M / %m
输出是

月份的英文单词缩写

,(例如:7月则为 July)/ 用

数字表示

月份,两位数,个位数月份有前导 0,范围从 00-12

%D / %d / %e

日期的英文单词缩写

,(例如:5日则为 5th)/ 用

数字表示日期

,两位数,个位数日期有前导 0,范围从 00-31 / 输出也是数字,和前一种形式唯一区别就是个位数日期没有前导 0

%H / %h / %I(大写i)
小时,范围 00-23,标准的 24 小时 / 也表示小时,但是只有 12 个小时,范围 01-12 / 和前一种输出完全一,很容易和分钟的点位符搞混

%i
分钟的点位符号,数值范围 00-59

%S / %s
秒,数值范围 00-59 / 和前一种输出结果完全一致


表2. 其他点位符


点位符(区分大小写)

解释

%W / %a

日期的英文单词

(例如 2022-07-05 输出 2022-07-Wednesday)/

日期的英文单词缩写

(和前一种情况对比的话,Wednesday 会输出为 Wed)

%b / %c
月份的英文单词缩写(例如7月会输出为Jul)/ 用数字表示月份和 %e 的输出效果是一样的,没有前导 0

%f
微秒,可以放在 %s 之后使用

%j
用天数表示年(例如:2022-07-06 会输出为 2022-07-187 表示是2022年第187天)

%k / %l(小写L)
表示小时,范围 0-23 / 也表示小时,但是只有 12 个小时,范围1-12

%p
上午的时间会输出AM,下午的时间会输出PM

2、PostgreSQL、Oracle、人大金仓


使用

TO_CHAR()

+

TO_DATE()

函数或者直接使用

TO_DATE()

函数也可

# 示例
SELECT TO_CHAR(TO_DATE(NOW(),'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd')

食用方法如下:

TO_CHAR(TO_DATE(d,f),f)

d = date 表示是日期,传一个日期参数即可,f = format 表示

日期的格式

, 一般的数据格式是

yyyy-mm-dd hh24:mi:ss

格式的,可以通过

TO_CHAR()

函数转为

yyyy-mm-dd

格式的时间,也可以修改数据库字段,如果可以修改的话,物理类型改为 date 就行



版权声明:本文为qq_48052049原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。