[英]How to convert python timestamp in mysql database to date in a SQL query
[英]How to convert date into timestamp in SQL query?
我正在嘗試將數據從old_table遷移到new_table ,但在舊表中,日期數據類型是datetime ,在新表中,日期數據類型是int並且正在接受時間戳值。
那么如何轉換 sql 查詢中的舊日期,以便將其作為時間戳插入到新表中?
INSERT INTO `new_table` (`id`, `user_id`, `doctor_id`, `message_id`, `type`, `is_message`, `is_note`, `doctor_initials`, `call_status`, `message`, `date_created`, `date_updated`, `day`)
SELECT id, usid, drid, message_id, type, is_message, is_note, doctor, kall, message, datein, 123, ziua
FROM `old_table`;
我想要一個 function 將舊日期轉換為值到時間戳,例如在上面的查詢中CONVERT_INTO_TIMESTAMP(datein)
任何幫助將不勝感激。
新表date_created字段接受 unix 時間戳中的值,例如: 1540642765
謝謝
您要查找的函數是UNIX_TIMESTAMP()
,例如
select UNIX_TIMESTAMP('1970-01-01 00:00:00');
在UTC時區給出0。
嘗試UNIX_TIMESTAMP()
函數:
INSERT INTO `new_table`
(`id`,
`user_id`,
`doctor_id`,
`message_id`,
`type`,
`is_message`,
`is_note`,
`doctor_initials`,
`call_status`,
`message`,
`date_created`,
`date_updated`,
`day`)
SELECT id,
usid,
drid,
message_id,
type,
is_message,
is_note,
doctor,
kall,
message,
Unix_timestamp(datein),
'123',
ziua
FROM `old_table`;
從文檔中:
如果不帶任何參數調用,則以無符號整數形式返回Unix時間戳(自1970年1月1日00:00:00 UTC以來的秒數)。 如果使用日期參數調用UNIX_TIMESTAMP(),則它將返回自1970年1月1日00:00:00 UTC以來的參數值(以秒為單位)。 date參數可以是DATE,DATETIME或TIMESTAMP字符串,也可以是YYMMDD,YYMMDDHHMMSS,YYYYMMDD或YYYYMMDDHHMMSS格式的數字。 服務器將日期解釋為當前時區中的值,並將其轉換為UTC中的內部值。
SELECT date_part('epoch', CURRENT_TIMESTAMP)::int;
因為這個問題也被標記為 SQL 來這里尋求 SQL/MSSQL 查詢中的時間戳解決方案的人。 可以試試下面
SELECT CAST(DueDate AS TIMESTAMP) "NewDueDate"
其中DueDate
是具有類似日期的列 - YYYY-MM-DD HH:ii:ss
。 如果您的列是 varchar 類型,那么上面的語法仍然可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.