5

我在使用LIKE结构时遇到问题DB2:例如:

select * from TEST where TIME LIKE '2012-03-04-%'

供参考。-TIMETIMESTAMP数据类型。

为什么使用LIKEwithTIMESTAMPS不起作用?

附加信息:我想从用户在 select 语句中提供的一天中提取数据。

4

3 回答 3

12

只是扩展@mortb的答案,我要么使用BETWEEN要么

WHERE time >= '2012-03-04' AND time < '2012-03-05'

BETWEEN使用或比较的优势使用castsandLIKE将意味着如果上面有索引,time则由于强制转换而无法使用。

于 2012-04-04T10:59:48.200 回答
4

LIKE 用于字符串 (char, varchar) 数据类型。采用WHERE time BETWEEN '2012-03-04' AND '2012-03-04 23:59:59.998'

于 2012-04-04T10:50:16.770 回答
1

你可以这样使用

where time between
    to_date('2016-06-17 00:00:00', 'yyyy-mm-dd HH24:MI:SS') and
    to_date('2016-06-18 00:00:00', 'yyyy-mm-dd HH24:MI:SS'
于 2016-06-18T05:05:38.717 回答