【问题标题】:Unable to convert date time to time and compare it with another date无法将日期时间转换为时间并将其与另一个日期进行比较
【发布时间】:2012-11-28 07:15:27
【问题描述】:

我遇到了一个奇怪的问题,我不明白出了什么问题。 在我的数据库中,我有一个 datetime 字段,其中保留了一些值,例如:03.10.2012 11:25:06 我需要将其转换为date 并将其与另一个日期进行比较。我没有成功的尝试是:

p1.value as City,
p2.value as Country,
p3.value as RequestNumber,
convert (datetime, convert (varchar, test.timestampmin, 101), 101) as timestampmin

from Process p
LEFT JOIN Parameter p1 on p1.ID=p.id AND p1.NAME = 'City'
LEFT JOIN Parameter p2 on p2.ID=p.id AND p2.NAME = 'Country'
LEFT JOIN PA_Parameter p3 on p3.ID=p.id AND p3.NAME = 'RequestNumber'

INNER JOIN
(
    SELECT min(Timestamp) as timestampmin, id as id
    FROM tasks
    GROUP BY id
) as test 
    ON test.id = p3.ID

where p.type='Event' and 
timestampmin = convert (datetime, convert (varchar, '06.18.2012', 101), 101)

问题是我无法将转换后的 datetime 与我在 where 子句中使用的 convert (datetime, convert (varchar, '06.18.2012', 101), 101) 进行比较。

我错过了什么?

【问题讨论】:

  • 你肯定喜欢使用连接。
  • 数据库设计不好,慢连接是唯一的选择。

标签: sql sql-server-2005


【解决方案1】:

很简单,您不能在同一查询的 WHERE 子句中的 SELECT 子句中访问列别名。

p1.value as City,
p2.value as Country,
p3.value as RequestNumber,
convert (datetime, convert (varchar, test.timestampmin, 101), 101) as timestampmin

from Process p
LEFT JOIN Parameter p1 on p1.ID=p.id AND p1.NAME = 'City'
LEFT JOIN Parameter p2 on p2.ID=p.id AND p2.NAME = 'Country'
LEFT JOIN PA_Parameter p3 on p3.ID=p.id AND p3.NAME = 'RequestNumber'

INNER JOIN
(
    SELECT min(Timestamp) as timestampmin, id as id
    FROM tasks
    GROUP BY id
) as test 
    ON test.id = p3.ID

where p.type='Event' and 
convert (datetime, convert (varchar, test.timestampmin, 101), 101)
   = convert (datetime, convert (varchar, '06.18.2012', 101), 101)

如果test.timestampmin 是日期时间列,则可以在 WHERE 子句中使用它

where p.type='Event'
  and test.timestampmin >= '20120618'
  and test.timestampmin <  '20120619'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    • 2018-07-22
    • 1970-01-01
    • 2016-12-02
    • 2013-01-16
    相关资源
    最近更新 更多