我从具有时间戳(6)数据类型的表中进行选择。
我希望得到日期和时间,如此:
目前数据如下所示:03/10/2014 21:54:47.690000
我想选择以便结果如下所示:03/10/2014 21:54:47
我试过了:
SELECT CAST(EVENT_GMT_TIMESTAMP AS DATE) || (EVENT_GMT_TIMESTAMP AS TIME) AS theDate, SUM(VwNIMEventFct.DWELL_MINUTES) AS totalDwellMins
FROM RDMAVWSANDBOX.VwNIMEventFct
WHERE EXTRACT(MONTH FROM EVENT_GMT_TIMESTAMP) = 4
GROUP BY theDate
但是收到了一条消息"语法错误,期待EVENT_GMT_TIMESTAMP和AS关键字之间的某些内容"
还尝试了concat()。
有没有更好的方法,而不是连接,选择EVENT_GMT_TIMESTAMP作为日期时间,但是到了分钟?
还到了小时?
必须有一个功能可以让你选择这样的输出吗?
我发现研究网络的内容似乎无法在Teradata上运行。
我也试过这个:
SELECT CAST(EVENT_GMT_TIMESTAMP AS FORMAT 'YYYYMMDDHHMM')
但输出是这样的:
04/18/2014 12:20:44.384000
我需要它像这样:
04/18/2014 12:20:44
答案 0 :(得分:5)
我从来没有能够像我想要的那样让时间戳格式化工作,但这会得到你想要的格式:
SELECT current_timestamp(6) AS ts,
( ts (FORMAT 'MM/DD/YYYY') (CHAR(10)))as DT,
cast (ts as time(6)) (char(8)) as tm,
dt ||' ' ||tm as FormattedDate
或者,有新的和改进的版本,dnoeth的赞美:
SELECT current_timestamp(6) AS ts,
ts (FORMAT 'MM/DD/YYYYbhh:mi:ss') (CHAR(19))
答案 1 :(得分:0)
public void storeData(Context context,List<Contact> offlineData){
SharedPreferences preferences=context.getSharedPreferences("contact_prefs",Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
Gson gson=new Gson();
editor.putString("data",gson.toJson(offlineData));
editor.apply();
}
是一种更好的方法