簡體   English   中英

使用VARCHAR列的一部分作為where子句中的日期

[英]Use part of VARCHAR column as date in where clause

我有一個表,其中varchar列CREATED_BY的格式為
USER - dd/MM/yyyy hh:mm

我正在嘗試進行數據遷移,並且需要獲取創建日期大於特定日期的記錄,但是列的格式使此操作變得困難,因此

SELECT * FROM TABLE_NAME WHERE -- last part of CREATED_BY > SOMEDATE

好吧,由於dd/MM/yyyy hh:mm格式的長度是固定的,因此您可以使用RIGHT函數從字符串中提取數據部分:

SELECT * 
FROM TABLE_NAME 
WHERE CONVERT(datetime, RIGHT(CREATED_BY, 16), 103) > somedate 

您需要從字符串中提取日期:

WHERE cast(reverse ( substring ( reverse ( @string  ) , 1 , 16 ) )  as datetime) > somedate

暫無
暫無

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

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