[英]Redshift: Conversion of string field in HH:MM:SS format to seconds and backwards
[英]Is there a way to subtract 2 timestamps and get the result in 'hh:mm:ss' format in Redshift
我一直在嘗試使用兩個時間戳之間的持續時間
select timestamp1-timestamp2 as time_s
from table_name
但我得到的結果是:
00:00:06.070627
00:00:33.415313
00:00:51.293319
00:02:00.146453
00:02:25.600623
00:06:37.811005
00:28:27.698517
我不想要 ' 之后的值.
'
我嘗試使用
split_part(time_s, '.',1)
但它給了
6070627
33415313
51293319
120146453
145600623
397811005
1707698517
有人可以幫忙嗎?
兩個時間戳之間的差異是INTERVAL 。
您遇到的基本問題是沒有顯示或返回間隔的標准方法。 例如:
00:00:06.070627
0 years 0 mons 0 days 0 hours 0 mins 0.0 secs
Invalid character data was found
當您嘗試將結果的一部分提取到.
,Redshift 很困惑,因為它看不到 output 在您的 SQL 客戶端中顯示的方式。
避免 SQL 客戶端對結果做奇怪事情的最好方法是將答案轉換為 TEXT :
SELECT (timestamp1 - timestamp2)::TEXT
這給出了如下答案: 24 days 13:57:40.561373
然后你可以像操作字符串一樣操作它:
SELECT SPLIT_PART((timestamp1 - timestamp2)::TEXT, '.', 1)
這給出: 24 days 13:57:40
底線:當 SQL 結果看起來很奇怪時,將結果轉換為 TEXT 或 VARCHAR 以查看數據的真實情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.