数据库日期格式化函数

本文详细介绍了如何在MySQL和Oracle数据库中使用DATE_FORMAT和to_date函数进行日期格式化,包括将字符串转换为日期和将日期转换为字符串的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、MySQL:DATE_FORMAT(date, format) 函数根据format字符串格式化date值。

    把字符串转换为日期格式:

SELECT DATE_FORMAT('2020-07-27 16:23:35',   '%Y-%m-%d %H:%i:%S'); 

   把日期转换字符串格式:

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

%M 月名字(January……December) 
%W 星期名字(Sunday……Saturday) 
%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。) 
%Y 年, 数字, 4 位 
%y 年, 数字, 2 位 
%a 缩写的星期名字(Sun……Sat) 
%d 月份中的天数, 数字(00……31) 
%e 月份中的天数, 数字(0……31) 
%m 月, 数字(01……12) 
%c 月, 数字(1……12) 
%b 缩写的月份名字(Jan……Dec) 
%j 一年中的天数(001……366) 
%H 小时(00……23) 
%k 小时(0……23) 
%h 小时(01……12) 
%I 小时(01……12) 
%l 小时(1……12) 
%i 分钟, 数字(00……59) 
%r 时间,12 小时(hh:mm:ss [AP]M) 
%T 时间,24 小时(hh:mm:ss) 
%S 秒(00……59) 
%s 秒(00……59) 
%p AM或PM 
%w 一个星期中的天数(0=Sunday ……6=Saturday ) 
%U 星期(0……52), 这里星期天是星期的第一天 
%u 星期(0……52), 这里星期一是星期的第一天 
%% 一个文字“%”。 

Oracle:to_date函数根据format字符串格式化date值

2、sql语句为:

SELECT to_date('2011-09-20 08:30:45', 'yyyy-MM-dd hh:mi:ss') FROM dual;          

反之,可以使用to_char()函数把日期转化为字符串。

sql语句为:

SELECT to_char(SYSDATE, 'yyyy-MM-dd hh:mi:ss') FROM dual;

 

### 瀚高数据库中的日期格式化函数 在瀚高数据库中,`TO_CHAR` 和 `TO_DATE` 是两个常用的用于处理日期格式化函数[^1]。 #### TO_CHAR 函数函数可以将日期转换成指定格式的字符串。语法如下: ```sql TO_CHAR(date_value, format_model) ``` - `date_value`: 需要被格式化日期类型的值。 - `format_model`: 定义输出字符串格式的模型。 例如,假设有一个名为 `orders` 的表,其中有一列 `order_date` 存储订单创建的时间戳数据类型。如果想要查询并显示该时间戳为特定的人类可读形式,则可以用下面这样的 SQL 查询语句来实现: ```sql SELECT order_id, TO_CHAR(order_date, 'YYYY-MM-DD HH24:MI:SS') AS formatted_order_time FROM orders; ``` 这会返回每条记录里 `order_date` 字段按照年份四位数表示、月份两位数表示等模式排列的结果集,并将其命名为 `formatted_order_time` 显示给用户查看。 #### TO_DATE 函数 相反地,当需要把一个符合一定规则表达式的字符串解析回真正的 DATE 类型时就可以使用这个命令了;它同样接受两个参数——待转化的目标串以及相应的模板样式作为输入条件之一来进行操作执行过程中的匹配工作。 ```sql TO_DATE(string_value, format_model) ``` 同样的例子中,如果有文本字段存储着类似 "2023/07/18 15:30" 这样的字符序列,而实际业务逻辑上又确实需要用到确切的日历时刻的话,那么可以通过调用上述提到的方法完成相应的需求目标: ```sql INSERT INTO events (event_name, event_datetime) VALUES ('Meeting', TO_DATE('2023/07/18 15:30', 'YYYY/MM/DD HH24:MI')); ``` 这里插入了一行新纪录到叫做 `events` 表里面去了,在第二项属性位置处利用到了刚刚介绍过的技巧实现了从纯文字描述向标准内部表现方式之间的转变过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值