我是sql的新手。我试图获取两个日期之间的记录。但我收到ORA-01810错误
查询:
SELECT txnid as txnid,
to_date(txn_date,'YYYY-MM-DD HH24:MI:SS') as txn_date,
amount as amount
FROM transactionsdata ct
where ct.txn_date >= TO_TIMESTAMP('2018-07-01 00:00:00','yyyy-MM-dd HH:mm:ss')
and ct.txn_date <= TO_TIMESTAMP('2018-07-27 00:00:00','yyyy-MM-dd HH:mm:ss');
我的代码有什么问题?
这是我的表格日期格式:11-07-18 01:05:17.395000000 PM
答案 0 :(得分:4)
尝试使用此代码:
SELECT txnid as txnid,
to_char(txn_date,'YYYY-MM-DD HH24:MI:SS') as txn_date,
amount as amount
FROM transactionsdata ct
and ct.txn_date >= TO_TIMESTAMP('2018-07-01 00:00:00','yyyy-MM-dd HH24:mi:ss')
and ct.txn_date <= TO_TIMESTAMP('2018-07-27 00:00:00','yyyy-MM-dd HH24:mi:ss')
要代表分钟,您必须使用 mi 。您在代码的第2行中使用了它,没多久。
答案 1 :(得分:0)
根据您的描述,您似乎想要:
SELECT txnid as txnid,
to_date(txn_date, 'DD-MM-YY HH:MI:SS.FF9 AM') as txn_date,
amount as amount
FROM transactionsdata ct
WHERE ct.txn_date >= DATE '2018-07-01' AND
ct.txn_date <= DATE '2018-07-27'