我有两列日期/时间数据,来自一个表。 Column1有多个值,是查询中显示的唯一值。 Column2将只有一个日期/时间值与Column1中的最新值匹配。我只对在Column1中显示匹配值感兴趣。
Column1
2014-03-08 00:00:00.000
2014-03-08 00:00:00.000
2014-03-08 09:03:00.000
2014-03-10 01:58:00.000
Column2
2014-03-10 01:58:00.000
数据/时间值每天都在变化,因此我实际上无法根据特定时间戳写出where语句。我只是Column1中的最新值,如果它与Column2中的另一个匹配则显示。所以传统的想法是:
WHERE Column1 = 'Column2'
or
WHERE Column1 >= 'Column2' <-- since it will never be greater
我收到错误:
从字符转换日期和/或时间时转换失败 串
。 两个值均为yyyy-mm-dd hh:mm:ss:ms格式。
答案 0 :(得分:0)
试试这个:
select t1.column1 from table1 t1
inner join table1 t2 on t1.Column1 = t2.Column2
要使where column1 = column2
起作用,值必须在同一行。此查询不假设。
你也可以这样做:
select column1 from table1
where column1 in (select column2 from table1)
答案 1 :(得分:0)
删除引号:
WHERE Column1 = Column2
或
WHERE Column1 >= Column2