我有一个日期格式为小数的列,例如:20,210,830.
我想将此数字转换为日期格式08/30/2021
我试过使用convert,数据库给我发了一个错误,说convert不是一个有效的函数。Cast似乎可以工作,但是每次只返回一个空值。
此语句将验证:
SELECT CAST(CAST(CONTCLMPDTE AS VARCHAR(8)) AS DATE)
FROM CMSFIL.JCTDSC AS COMPLDATE
这个语句可以工作,但是只输出null。对于后台,我从Db2数据库查询。
我的最终目标是使用这个转换后的日期来获取与当前日期的差异。
如
DAY(CURRENT_DATE) - DAY(COMPLDATE)
4条答案
按热度按时间6tqwzwtp1#
转换为日期,可以这样做
第一个
| 一个|
| - -|
| 2022年8月30日|
fiddle
sr4lhrrt2#
所以,经过漫长的几天,几乎把我的头发拉出来,这是什么对我的工作。
它的格式从yyyymmdd到mm/dd/yyyy。它还可以使用此代码查找current_date和CONTCLMPDTE之间的日期。
谢谢大家的帮助!
7uhlpewt3#
您可能会得到一个错误,因为您有一些INT / DECIMAL值无法使用此模式转换为日期。
解决办法是创建一些“安全”转换函数“吃”错误像下面。
用法:
如果相应的INT不能转换为DATE,则函数返回NULL,并且在仅使用内置函数取消注解已注解掉的行时,不会抛出错误。
lb3vh1jj4#
只需要将值转换为日期格式的字符串,然后使用date()函数将其转换为日期。