【问题标题】:How will i do a data search between two dates我将如何在两个日期之间进行数据搜索
【发布时间】:2018-06-26 00:51:19
【问题描述】:

我正在尝试搜索日期介于两个值之间的行:

select battery_volts
from ems
where date between 20180606 and 20180606

错误:

消息 206,级别 16,状态 2,第 1 行操作数类型冲突:日期与 int 不兼容

【问题讨论】:

  • 这段代码遇到了什么问题?
  • 20180606int 时,date 在您的数据库中属于date 类型,因此您需要将其中一个转换为另一种类型。
  • 您的日期必须在引号内

标签: sql sql-server


【解决方案1】:

小心between,我会改用:

select battery_volts
from ems
where date >= '20180606' and date < '20180607';

这是一个great article,扩展了使用之间的注意事项。

【讨论】:

  • 这是一篇很棒的文章,详细介绍了使用 between 的注意事项。 sqlblog.org/2011/10/19/…
  • 你会说在 Yogesh 之间要小心
  • @JPPentz。 . .该链接(请参阅我的答案的底部)将向您解释原因?
【解决方案2】:

使用单引号 (') 引用您的日期:

SELECT battery_volts
FROM ems
WHERE date BETWEEN '20180606' AND '20180606';

【讨论】:

  • 我怎样才能让 sqlserver 向我显示被搜索的日期和数据类型不仅显示数据类型。
  • @JPPentz 什么?这没有意义。
【解决方案3】:

如果数据类型是date那么你可以这样做

select battery_volts
from ems
where date between '2018-06-06' and '2018-06-07'

【讨论】:

  • Yes Juergen 数据类型是日期
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-10
  • 2021-07-06
  • 2011-02-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多