如何使用 - within like '%'% query
How to use - within like '%'% query
我在 SQL 2012 年有一个名为 transitiontime
的 table 列,其中包含格式为 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 个月中提取。
我假设,由于您使用关键字 "like",字段 "transitiontime" 是一个 char oder varchar 字段?
将字段类型更改为 DateTime 并使用以下查询,以获取最近三个月的所有结果(适用于 SQL):
SELECT * FROM table WHERE transitiontime >= DATEADD(month, -3, GETDATE())
我在 SQL 2012 年有一个名为 transitiontime
的 table 列,其中包含格式为 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 个月中提取。
我假设,由于您使用关键字 "like",字段 "transitiontime" 是一个 char oder varchar 字段?
将字段类型更改为 DateTime 并使用以下查询,以获取最近三个月的所有结果(适用于 SQL):
SELECT * FROM table WHERE transitiontime >= DATEADD(month, -3, GETDATE())