我在SQL查询中遇到麻烦,无法显示记录在29-12-2018
上的Oracle
上的数据字段,
SELECT * FROM
data
WHERE date BETWEEN('29-12-2018' AND '01-01-2019')
ORDER BY datetime DESC
答案 0 :(得分:1)
您需要使用to_date()
函数将字符串转换为日期。
SELECT * FROM
data
WHERE "date" > to_date('29-12-2018','DD-MM-YYYY')
ORDER BY datetime DESC
答案 1 :(得分:1)
您可以使用
SELECT *
FROM data
WHERE "date" > to_date('2018-12-29','yyyy-mm-dd') --> needs formatting as the second argument
ORDER BY datetime DESC
或
SELECT *
FROM data
WHERE "date" > date'2018-12-29' --> literal according to "ISO 8601" standard
ORDER BY datetime DESC
其中date
被转换为"date"
,因为它是保留关键字,因此无法使用此列名创建表。