在 db2 中将字符串日期(yyyy/mm/dd)转换为日期格式
Posted
技术标签:
【中文标题】在 db2 中将字符串日期(yyyy/mm/dd)转换为日期格式【英文标题】:convert string date(yyyy/mm/dd) to date format in db2 【发布时间】:2015-03-27 09:10:03 【问题描述】:我在 db2 中以 yyyy/mm/dd
格式将日期保存为 varchar,我需要在查询中将其转换为日期日期类型,如何实现?
我试过了
从 ASAODLIB.SSLR204 中选择 DATE(CRDTR2),其中 CRDTR2 BETWEEN '2015/03/01' 和 '2015/03/31';
查询并得到以下错误
日期时间值的字符串表示形式的语法是 不正确.. SQLCODE=-180, SQLSTATE=22007, DRIVER=3.68.61
谁能帮帮我。
【问题讨论】:
DB2 的平台和版本是什么? 【参考方案1】:如果您的 DB2 版本足够新,请使用 to_date:select DATE(TO_DATE(CRDTR2, 'YYYY/MM/DD')) from ...
【讨论】:
谢谢你。这对我有用。它也可以在 db2 v8.1 中使用吗?目前正在使用 10.1【参考方案2】:...因为它无法识别该格式。我先把它变成*ISO
,通过REPLACE
:
SELECT DATE(REPLACE(CRDTR2, '/', '-'))
FROM ASAODLIB.SSLR204
WHERE CRDTR2 BETWEEN '2015/03/01' AND '2015/03/31'
顺便说一下,这里还有一些其他的东西。
-
您应该将日期存储为实际的日期类型,这样就不会出现问题。
You shouldn't use
BETWEEN
,优先于独占上限(<
- 博客讨论 SQL Server,但问题实际上是由于表示。那,大多数版本的 DB2 允许您在时间戳中指定小数秒。 .).
【讨论】:
以上是关于在 db2 中将字符串日期(yyyy/mm/dd)转换为日期格式的主要内容,如果未能解决你的问题,请参考以下文章
SQLServer中将yyyy:MM:dd HH:mm:ss.sss转为yyyyMMddHHmmss
SQLServer中将yyyy:MM:dd HH:mm:ss.sss转为yyyyMMddHHmmss
将日期 javascript 从 yyyy/mm/dd 反转为 dd/mm/yyyy
NSJSONSerialization 将日期分隔符从 yyyy/MM/dd 更改为 yyyy\/MM\/dd [重复]