我有一个使用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;
答案 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