簡體   English   中英

MySQL使用regexp重新排序字符串?

[英]MySQL reorder string using regexp?

我有一個mysql表,其中的varchar字段包含格式的日期值;

“日/月/年”

我想對這些字符串值重新排序,並創建一個datetime值或一個時間戳,因此我可以在此列中正確排序。 我不是正則表達式的專家,但我認為這可能是前進的方向。

我想以以下格式結尾的日期表;

yyyy-mm-dd 00:00:00

我希望可以(?)然后將列數據類型更改為時間戳或日期時間。

預先感謝您的任何幫助

您不需要正則表達式,並且應該給定處理該特定情況的現成函數,避免使用正則表達式。

STR_TO_DATE()出MySql STR_TO_DATE()函數

它采用字符串str和格式字符串格式。 如果格式字符串同時包含日期和時間部分,則STR_TO_DATE()返回DATETIME值;如果字符串僅包含日期或時間部分,則返回DATE或TIME值。

SELECT STR_TO_DATE('31/4/2004', '%m/%d/%Y');

返回:

 '2004-04-31'

要強制設置DATETIME,可以將時間字符串連接到字段的日期字符串的末尾,例如:

SELECT STR_TO_DATE(CONCAT(myDateColumn, ' ', '00:00:00'), '%m/%d/%Y %h:%i:%s');

您不能使用MySQL正則表達式,因為在MySQL中正則表達式僅用於搜索。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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