我的oracle数据库中有DATETIME
字段,如图所示
我正在尝试创建一个在特定日期之间返回内容的查询,但此查询不会返回任何内容。
SELECT *
FROM tbl_meter
WHERE TO_DATE(DATETIME,'DD/MM/YYYY') BETWEEN '%s' AND '%s'
我错过了什么?
修改
SELECT * FROM tbl_meter WHERE DATETIME BETWEEN '15/01/2014' AND '07/01/2014'
答案 0 :(得分:2)
看起来你两次使用相同的参数。我希望你有
select *
from tbl_meter
where to_date(datetime, 'DD/MM/YYYY') between to_date('%s1', 'DD/MM/YYYY') and to_date('%s2', 'DD/MM/YYYY')
答案 1 :(得分:2)
SELECT *
FROM tbl_meter
WHERE TRUNC(DATETIME) BETWEEN to_date('%s','DD/MM/YYYY') AND to_date('%s','DD/MM/YYYY');
假设DATETIME
属于DATE
数据类型。
如果它是TIMESTAMP
数据类型,那么
SELECT *
FROM tbl_meter
WHERE TRUNC(CAST(DATETIME AS DATE)) BETWEEN to_date('%s','DD/MM/YYYY') AND to_date('%s','DD/MM/YYYY');
如果是VARCHAR
,那么
SELECT *
FROM tbl_meter
WHERE TRUNC(To_DATE(DATETIME,'Dd/MM/YYYY HH24:MI:SS.FF6')) BETWEEN to_date('%s','DD/MM/YYYY') AND to_date('%s','DD/MM/YYYY');
答案 2 :(得分:-1)
试试这种方式
SELECT *
FROM tbl_meter
WHERE TO_DATE(DATETIME,'DD/MM/YYYY') >='%s' AND TO_DATE(DATETIME,'DD/MM/YYYY') <'%s'