小编典典

相当于MySQL的ISDATE()

sql

我有一行用于SQL Server的代码,它采用的日期列为“
YYYYMMDD”,其中DD为00,并将00转换为01,以便它与datetime一起使用。我希望能够使用MySQL

当前适用于SQL Server的代码:

INSERT patentdb.Citation(PatentNo, Citation, CitedBy, CitationDate)
SELECT PatentNo, citation, WhoCitedThis, dt 
FROM 
(
  SELECT PatentNo, Citation, WhoCitedThis, dt = CASE
    WHEN CitationDate LIKE '%00' THEN INSERT (CitationDate, 8, 1, '1') 
    ELSE CitationDate 
  END 
  FROM patentdb.CitationSource
) AS x
WHERE ISDATE(dt) = 1;

但是isdate在MySQL中无效,该怎么解决?


阅读 133

收藏
2021-03-23

共1个答案

小编典典

您可以尝试使用STR_TO_DATE函数。null如果表达式不是日期,时间或日期时间,则返回。

WHERE STR_TO_DATE(dt, '%d,%m,%Y') IS NOT NULL
2021-03-23