sql - 仅从oracle sql中的给定日期提取日期
问题描述
提取日期的最佳 Oracle sql 查询是什么?输入条目 - 2020-10-14T07:26:32.661Z ,预期输出 - 2020-10-14
解决方案
如果您想要DATE
时间分量为午夜的数据类型,则:
SELECT TRUNC(
TO_TIMESTAMP_TZ(
'2020-10-14T07:26:32.661Z',
'YYYY-MM-DD"T"HH24:MI:SS.FF3TZR'
)
) AS truncated_date
FROM DUAL;
哪个(取决于您的NLS_DATE_FORMAT
)输出:
| 截断日期 | | :----------------- | | 2020-10-14 00:00:00 |
(注意:DATE
数据类型有年、月、日、小时、分钟和秒部分。无论您使用什么客户端程序访问数据库,都可以选择不显示时间部分,但它仍然存在。)
如果你想要一个YYYY-MM-DD
格式化的字符串,那么:
SELECT TO_CHAR(
TO_TIMESTAMP_TZ(
'2020-10-14T07:26:32.661Z',
'YYYY-MM-DD"T"HH24:MI:SS.FF3TZR'
),
'YYYY-MM-DD'
) AS formatted_date
FROM DUAL;
| FORMATTED_DATE | | :------------- | | 2020-10-14 |
db<>在这里摆弄
推荐阅读
- c++ - 通过类实例(对象)访问类模板内的 typedef/using 声明
- excel - 从 Excel 中逐行读取参数以进行 Anylogic 实验
- svg - bootstrap 将 svg 放在右上角和左上角
- c++ - 多线程中的向量处理问题
- c# - 关于委托实例化的一个简单问题
- c# - 用于拦截耗时的 Web 请求的 Visual Studio 插件
- android - 共享元素转换在 recyclerVIew 中不起作用
- angular - 更新所有用户 firebase 角度的特定字段
- s3ql - 如何限制 s3ql 的缓存目录大小?
- git - 如何在github中自动保留特定数量的最新标签?