Teradata字符串日期到日期类型更改

时间:2017-10-27 16:04:23

标签: sas teradata

我有一个使用SAS运行的Teradata查询。我尝试阅读的Teradata字段之一有一系列数字,这些数字是字符串格式,基本上是指日期。 在Teradata Field中,该值为170919,表示2017-09-19。 我无法将此值转换为有效的日期类型。 你能帮忙吗?

proc sql;
    connect to teradata (schema=&terasilo user=&terauser password=&terapass tdpid=&teradbase);
        create table COL_ASPECT_CALLS_2 as
            select * from connection to teradata(
                select 
                top 10 *
                from &&terasilo..DMI_COL_ASPECT_CALLS 
                where CAST(PROD_DATE_CH AS DATE FORMAT 'yymmdd')='2017-09-19'

                                          );
    disconnect from teradata;       
quit;

2 个答案:

答案 0 :(得分:3)

您可以简单地切换到20,而不是处理世纪休息设置或预先To_Date('170919', 'yymmdd'),而 startTimePicker = timePicker { this.applyRecursively { when(it) { is NumberPicker -> { val paintField = it.javaClass.getDeclaredField("mSelectorWheelPaint") paintField.isAccessible = true (paintField.get(it) as? Paint)?.typeface = //your font here } is TextView -> { it.typeface = //your font here } } } 总是假设21世纪为两位数年。

答案 1 :(得分:0)

我相信Teradata有一个系统设置,告诉它如何转换2位数年份。

但你可以自己添加这个世纪。也许只是预先'20'?

select
  CAST('170901' AS DATE FORMAT 'yymmdd') as NoCentury
, CAST('20'||'170901' AS DATE FORMAT 'yymmdd') as WithCentury

产量

NoCentury   WithCentury
9/1/1917    9/1/2017