我在oracle数据库中编写sql查询,但是存在表名,还有oracle resualts有错误,表没有找到表或视图
我写这个查询的另一个问题
select * from Table_name where DDATE="30-05-2014;
but id doesn't return anything how to write where with date type
答案 0 :(得分:3)
正如@Alex Poole所说..使用TO_DATE()函数:
select * from your_table where date_column = TO_DATE('01/01/2014' , 'dd/mm/yyyy');
但要确保你的" date_column" DATE类型列。
要考虑的另一点是,如果该列也包含TIME(例如:11/30/2012 10:00:00 AM),请使用
select * from your_table where TRUNC(date_column) = TO_DATE('01/01/2014' , 'dd/mm/yyyy');
这只会比较日期分数,并根据具体情况给出结果。
干杯!
答案 1 :(得分:2)
改为使用DATE文字:
select * from Table_name where VHFDATE= DATE '2014-05-30';
或者,如果从UI或其他地方提供日期值,请使用绑定变量:
select * from Table_name where VHFDATE= :in_vhf_date;
答案 2 :(得分:0)
这些可能是导致这些错误的部分原因。
1)如果您获得表或视图不存在错误,则表示您可能没有足够的权限。
2)对日期数据类型使用类似to_date()的日期格式。
select * from your_table where to_date(date_column,'DD-MON-YYYY')='30-MAR-2012';
3)检查您是否有该特定日期的数据。您可以使用简单的 GROUP BY 来检查该数据的记录数。
select count(*),date_column from your_table group by date_column order by date_column desc;