我想选择多个date.And从应用程序我传递一个字符串值该字符串包含多个日期我如何使用to_date将整个字符串转换为日期或有任何其他方式?我无法执行以下查询
select * from emp
where start_date in
TO_DATE('11-Jan-15 20:30:00', '11-Jan-15 08:00:00', '11-Jan-15 20:00:00')
我也试过了下面的一个
where STRT_TIME IN
TO_DATE('11-Jan-15 20:30:00', '11-Jan-15 08:00:00', '11-Jan-15 20:00:00',
'DD-MON-RR HH24:MI:SS')
没有任何东西可以工作但是如果我删除了to_date它在DATABASE中工作正常但是从应用程序中获得错误?
任何人都可以帮助我吗?
答案 0 :(得分:1)
您需要制作一个IN
日期列表...这么多来电话TO_DATE
:
where STRT_TIME IN (TO_DATE('11-Jan-15 20:30:00','DD-MON-RR HH24:MI:SS'),TO_DATE('11-Jan-15 08:00:00','DD-MON-RR HH24:MI:SS'),TO_DATE('11-Jan-15 20:00:00','DD-MON-RR HH24:MI:SS'))
你可以做相反的事情:即make TO_CHAR(STRT_TIME, 'DD-MON-RR HH24:MI:SS')
并将其与IN
字符串列表进行比较 - 但这不符合大数据集的效果。
答案 1 :(得分:0)
您可以尝试使用to_date
将日期转换为字符文字,而不是将您的角色文学转换为to_char
的日期:
select * from emp
where
to_char(start_date, 'DD-MON-RR HH24:MI:SS')
in
('11-Jan-15 20:30:00', '11-Jan-15 08:00:00', '11-Jan-15 20:00:00')