【发布时间】:2017-05-24 14:00:29
【问题描述】:
我在 SQL 2012 中有一个名为 transitiontime 的表列,其中包含格式为 2017-02-02 21:00:34.847 的日期和时间。我正在尝试查询过去 3 个月内的所有结果,我认为这只需要我寻找 2017-02 或类似的东西。但是,如果我留下连字符,查询将失败。
例子:
WHERE transitiontime like '%2017%' <- works but returns all values from this year
WHERE transitiontime like '%2017-02%' <- Does not work at all
WHERE transitiontime like '%2017%02%' <- Works but pulls in anything with 2017 and 02 in it, even if 02 is just in the time.
我很想在一个查询中获得过去 3 个月的数据,但现在我只想从 1 个月中提取数据。
【问题讨论】:
-
transitiontime列的数据类型是什么? -
你的数据不是你想象的那样。连字符不是 LIKE 的特殊字符。如果可以的话,发布一个重现问题的脚本。否则这个“问题”不存在。
-
你说它根本不起作用是什么意思?它是否返回错误,是否返回不正确的数据等?
-
transitiontime列的数据类型为datetime。
-
不确定如何发布脚本。您是指完整的查询吗?
标签: sql-server date where wildcard sql-like