Date teradata yymmdd日期格式
我有一个字段,应该是6位字符,但它是数字。我使用以下代码添加前导零: 选择CAST(CAST(格式为'9(6)'的CHD_OPEN_DATE)作为CHAR(9)) 我使用以下代码将其格式化为日期: 强制转换(将lpad(转换为字符(CHD_OPEN_DATE),6,'0')作为日期格式'YYMMDD')作为日期格式'YYYY-MM-DD')Date teradata yymmdd日期格式,date,format,teradata,Date,Format,Teradata,我有一个字段,应该是6位字符,但它是数字。我使用以下代码添加前导零: 选择CAST(CAST(格式为'9(6)'的CHD_OPEN_DATE)作为CHAR(9)) 我使用以下代码将其格式化为日期: 强制转换(将lpad(转换为字符(CHD_OPEN_DATE),6,'0')作为日期格式'YYMMDD')作为日期格式'YYYY-MM-DD') 使用此日期格式时,1990显示为2090。有解决方法吗?如果您的号码具有yymmd格式,则可以使用以下格式转换为日期,而无需转换为中间字符串。假设日期范围为
使用此日期格式时,1990显示为2090。有解决方法吗?如果您的号码具有
yymmd
格式,则可以使用以下格式转换为日期,而无需转换为中间字符串。假设日期范围为1930年至2029年:
SELECT 900331 AS CHD_OPEN_DATE,
Cast(CASE WHEN CHD_OPEN_DATE < 300000
THEN CHD_OPEN_DATE + 1000000
ELSE CHD_OPEN_DATE
END AS DATE)
选择900331作为CHD\u打开日期,
Cast(CHD_开放日期<300000时的情况)
然后CHD\u打开日期+1000000
其他CHD\u打开日期
截止日期)
你的意思是900331是“1990-03-31”,而170331是“2017-03-31”?什么是截止年?我不确定什么是截止年。如果你能告诉我如何使用1910设置它?我会让这项工作现在,并进一步调查什么是适当的日期。