[英]C++ Boost convert UNIX Timestamp to MySQL compatible DATETIME String
[英]Convert datetime string to unix timestamp from string column in mysql
我有一列(值),其中包含mediumtext NULL
,其中還保存了datetime
時間字符串值。 我必須 select 所有datetime
時間值並將它們轉換為Unix datetime
。
我必須喜歡的選擇
SELECT value FROM thetable WHERE value REGEXP '^["]+(2[0-9]{3})'
但是我怎么做更新嘗試了這個
UPDATE thetable set value = UNIX_TIMESTAMP(value) WHERE value REGEXP '^["]+(2[0-9]{3})';
但它不會影響任何事情。 我想我需要兩者結合。
這是一個小提琴: https://www.db-fiddle.com/f/mHWJ5xktwewU1LEb6dBUB/2
所以對我來說,這是這兩個查詢的組合
首先,我必須更新值列以從日期時間字符串值中刪除引號 ("),如下所示:
UPDATE thetable SET value = REPLACE(value,'"','') WHERE value REGEXP '^["]+([0-9]{4})+(-)+([0-9]{2})+(-)';
然后更新表格以將日期時間字符串值從格式"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
替換為我可以用UNIX_TIMESTAMP()
function 轉換的格式,並替換整個日期時間所在的列,如下所示:
UPDATE thetable set value = UNIX_TIMESTAMP(REPLACE(REPLACE(REPLACE(value, 'T', ' '), '.000Z', ''), '\"', '')) WHERE value REGEXP '^([1-2][0-9]{3})-([0-1][0-9])-([0-3][0-9])T([0-2][0-9]):([0-6][0-9]):([0-3][0-9]).'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.