我有以下数据:
SQL> select * from booking_session;
BK_ID|BK_DATE
-----|-------------------------
1|18-MAR-12 10.00.00.000000
2|18-MAR-12 10.25.00.000000
3|18-MAR-12 10.30.00.000000
4|18-MAR-12 10.35.00.000000
5|18-MAR-12 10.40.00.000000
我正在尝试编写一个sql
查询,该查询选择与某个日期匹配的所有记录,但是我正在为该BK_DATE
字段使用时间戳记,无论我如何尝试,我的查询都不会产生任何结果。
SQL :我尝试了以下查询,但没有任何结果
1。
select *
from booking_session
where bk_date = to_date('18-03-2012', 'dd-mm-yyyy');
2。
select *
from booking_session
where bk_date = to_timestamp('18-03-2012', 'dd-mm-yyyy');
3。
select *
from booking_session
where bk_date = to_date('18-MAR-2012', 'dd-mm-yyyy');
仅当我将整个日期值设置为时,它才起作用;
select *
from booking_session
WHERE bk_date = '18-MAR-12 11.00.00.000000';
CREATE TABLE BOOKING_SESSION(
BK_ID NUMBER NOT NULL,
BK_DATE TIMESTAMP,
BK_BOOKER NUMBER,
BK_CUSTOMER NUMBER,
BK_TREATMENT NUMBER,
T_SESSION_DATETIME TIMESTAMP,
STAFFAPPOINTED NUMBER,
BK_ROOM NUMBER
);
INSERT INTO BOOKING_SESSION VALUES (
1,
TO_TIMESTAMP('18/03/2012 10:00', 'DD/MM/YYYY HH24:MI'),
1,
1,
1,
TO_TIMESTAMP('20/03/2012 11:00', 'DD/MM/YYYY HH24:MI'),2,1
);
尼古拉斯·克拉斯诺夫(Nicholas Krasnov)提供的答案
SELECT *
FROM BOOKING_SESSION
WHERE TO_CHAR(T_SESSION_DATETIME, 'DD-MM-YYYY') ='20-03-2012';
我的Oracle表有1,000个观察值,以下2个变量:(两个字段都是varchar) 我是不是漏掉了一些明显的东西? 谢谢
我试图选择头衔、姓氏、出生日期和头衔为“销售代表”并且他们出生在1950年之前或之后的国家。 当a把日期放在代码中时,它会给我一个错误。 我认为这是正确的: 它给ORA-01843的错误:不是有效的月份 如果你能帮助我,谢谢你。 以下是表格的示例数据:
我试图获得一个SQL语句来选择时间戳在两个给定时间戳之间的行。这是我试过的。(这是在Java servlet上,而我是Java时间戳对象。) 这里的from和to是timestamp对象这给了我一个语法错误,当我试图准备语句时,请帮助
我正试图将这些值插入到oracle数据库中,但我又犯了一个错误: 错误为:ORA-01843:不是有效月份 几个小时来一直试图解决这个问题,但我找不到问题!请帮忙!。 信息[http-8080-2](ecsystem.java:233)-2013-11-22 15:34:55.0\2013-11-22 15:34:55.0 希望这些信息能有所帮助!
我试图编写一个SQL表达式,该表达式将在特定时区将unix历元(1970/1/1以来的秒)转换为本地时间,并从中提取小时值。在研究了这段时间的解决方案后,我仍然不确定如何处理时区。注意,我尽量避免使用NEW_TIME()函数,因为它只使用时区缩略词的有限子集,而不使用全时区名称。 结果是 结果有几个问题 第1列:从时间戳开始,该值比使用日期关闭1小时 第2列:在America/los_Angele
问题内容: 我有一个带有日期/时间值的字段,如下所示: 在UTC中。在查询中如何将其转换为EST? 我正在尝试类似的操作,但是会引发错误。 问题答案: 我必须对其进行一些微调,以使其在我的数据库上工作,但这是可行的: 关键是“在时区”语法。