簡體   English   中英

將日期時間字符串從 mysql 中的字符串列轉換為 unix 時間戳

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM