当前位置: 首页 > 面试题库 >

相当于MySQL的ISDATE()

漆雕亮
2023-03-14
问题内容

我有一行用于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中无效,该怎么解决?


问题答案:

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

WHERE STR_TO_DATE(dt, '%d,%m,%Y') IS NOT NULL


 类似资料:
  • 问题内容: 我需要能够生成运行查询,该查询将返回下表中的ID的下一个值: 在Oracle中,你可以在序列上调用NEXTVAL,它为你提供下一个序列(注意:不必在表上进行插入)。 谷歌搜索之后,我发现你可以使用以下查询找到auto_increment的当前值: 问题是我希望每次查询该值时该值都增加。在Oracle中,当你调用nextval时,即使不将行插入表中,序列的值也会增加。 有什么方法可以修改

  • 问题内容: Oracle有2个函数- rank()和density_rank()-我发现它们对某些应用程序非常有用。我现在在mysql中做某事,想知道他们是否有与之等效的东西? 问题答案: 没有直接等效的方法,但是您可以使用一些(效率不高)自联接来伪造它。来自MySQL查询howtos集合的一些示例代码:

  • 问题内容: 在mysql中是否有相当于Oracle的rowid? 我想做一个MySQL等效于此查询!!! 我想做的是::my_table没有主键..我正试图删除重复的值并强加一个主键(field1和field2的复合)。 问题答案: 在MySql中,通常使用会话变量来实现功能: 但是您无法在要从子查询中删除的表上进行排序。 UPD :也就是说,您将需要创建一个临时表,将测距子查询插入到该临时表中,

  • 问题内容: 在MySQL中,当您联接来自具有相同名称的不同表中的列时,可以在联接中使用关键字USING。例如,这些查询产生相同的结果: SQL Server中是否有等效的快捷方式? 问题答案: 不,必须使用:

  • 问题内容: 我正在尝试将查询从MySQL移植到SQL SERVER2012。 如何为MySQL的substring_index()编写等效项? MySQL SUBSTRING_INDEX()从给定字符串中返回指定次数的分隔符之前的子字符串。 SUBSTRING_INDEX(str,delim,count) 输出: 问题答案: 尝试基于T-SQL和XQuery()的以下解决方案: T-SQL标量函数

  • 问题内容: 我知道(其中e是一个异常)会打印发生的异常,但是,我试图找到与Java等效的python,它可以将异常确切地跟踪到发生的那一行,并打印出整个轨迹。 谁能告诉我Python 的等效功能吗? 问题答案: 在块内执行此操作时,它将自动使用当前异常。有关更多信息,请参见http://docs.python.org/library/traceback.html。