圖片:http://i.stack.imgur.com/CyyHo.jpg如何將時間戳轉換爲SQL中的日期?
我有一個數據集,如圖所示。我想使用created_date列的值作爲datetime
格式。我怎樣才能做到這一點?
圖片:http://i.stack.imgur.com/CyyHo.jpg如何將時間戳轉換爲SQL中的日期?
我有一個數據集,如圖所示。我想使用created_date列的值作爲datetime
格式。我怎樣才能做到這一點?
列值似乎不是一個TimeStamp。 使用下面的腳本將值設置爲日期時間。
SELECT credits,amount,city,
CONVERT(DATETIME,LEFT(created_date,8)
+' '+SUBSTRING(created_date,9,2)
+':'+SUBSTRING(created_date,11,2)
+':'+RIGHT(created_date,2)) Created_Date
FROM YourTable
解決了我的問題。謝謝。 –
@Abhinav快樂編碼! –
是'epoch'類型的created_date?你是否試圖在SQL數據庫或業務邏輯中使用日期時間格式?如果它在業務邏輯中,則取決於您使用的語言。我很樂意提供幫助,但我不完全理解用例。如果你可以提供更多的信息,可以幫助我們幫助你!
乾杯!
您想要轉換的時間被稱爲Unix timestamp
,這意味着自1970/01/01以來經過了多少秒鐘。在這種情況下,您將不得不使用DATA
函數,該函數將花費總秒數並將其添加到1970/01/01。
在SQL它通過以下方式完成:
select DATEADD(s, dateTimeInSeconds, '19700101')
哪裏s
是秒和dateTimeInSeconds是你的約會的價值; '19700101'
是一個起點。
你確定它不是沒有任何分隔符的日期時間嗎? – scsimon
它看起來不像unix時間戳,但沒有一些字符的日期時間(只剩下數字)。
要獲得MySQL的 「真正的」 時間戳使用:UNIX_TIMESTAMP()
要轉換 「真正的」 時間戳在MySQL中的datetime使用:FROM_UNIXTIME()
要將列轉換爲datetime使用:
CONCAT(SUBSTR(created_date, 1, 4),
'-',
SUBSTR(created_date, 5, 2),
'-',
SUBSTR(created_date, 6, 2),
' ',
SUBSTR(created_date, 7, 2),
':',
SUBSTR(created_date, 11, 2),
':',
SUBSTR(created_date, 13, 2))
問題被標記爲SQL Server不是MYSQL只是一個擡頭 – scsimon
試試這個:
SELECT
create_date,
CONVERT(DATETIME, STUFF(STUFF(STUFF(x.create_date, 13, 0, ':'), 11, 0, ':'), 9, 0, ' ')) AS create_date_AsDT
FROM (SELECT '20160925151849') AS x(create_date)
注意:基本上它會在mm和ss之間插入:
分隔符,介於hh和mm之間,並且還會在DT和TM之間插入(空格(1))。因此,
'20160925151849'
變成'20160925 15:18:49'
。此最終值是一個有效的DT字符串,可以毫無問題地從VARCHAR TO DATETIME轉換(獨立於SET LANGUAGE/DATEFORMAT
設置)。
說明如果圖像是數據庫中的數據,或者它是.NET數據集/數據表中的數據。你可以給這個列定義的數據類型叫做created_date –