有可能sql一直跟踪时间吗?
我是sql的大一新生。所以最近我的演讲给了我们一个实际的机会。 实际文件显示错误有可能sql一直跟踪时间吗?,sql,database,oracle,Sql,Database,Oracle,我是sql的大一新生。所以最近我的演讲给了我们一个实际的机会。 实际文件显示错误 INSERT INTO sales VALUES ('6380', '1111', '2012-10-01 00:00:00', 2, '30', 'TC7777'); 错误是00:00:00。正如我的讲座所说,SQL不允许这种格式 所以我的问题来了: -SQL是否可能一直跟踪,比如00:00:00? -SQL是键敏感的,SELECT和SELECT还是我应该保持大写的习惯 SQL是否可能
INSERT INTO sales VALUES ('6380', '1111', '2012-10-01 00:00:00', 2, '30', 'TC7777');
错误是00:00:00。正如我的讲座所说,SQL不允许这种格式
所以我的问题来了:
-SQL是否可能一直跟踪,比如00:00:00?
-SQL是键敏感的,SELECT和SELECT还是我应该保持大写的习惯
SQL是否可能一直跟踪,比如00:00:00
若SQL表中的数据类型为Date,则在Oracle中默认情况下,Date的默认格式为Date only,所以,若在插入数据时使用Date指定时间,则会出现错误
要插入带日期的时间,必须在插入数据时转换日期格式
TO_DATE('2003/05/03 21:02:44', 'yyyy/mm/dd hh24:mi:ss')
您可以使用更改此默认日期格式
alter session set nls_date_format= your date format here
SQL是键敏感的,选择并选择,或者我应该保留
把所有的都放在大写的习惯
SQL不区分大小写,您可以使用一个,大写,小写,甚至驼峰大小写。示例:-选择或选择,甚至选择。为了更好的可读性,最好使用大写的所有关键字。仅对Oracle而言,数据库总是使用日期/时间戳值存储时间。你只需要适当地告诉它这样做。在您的示例中,您可以说:
INSERT INTO sales
VALUES ('6380', '1111', TO_DATE('2012-10-01 00:00:00','YYYY-MM-DD HH:MI:SS')...
Oracle中日期值的默认格式由数据库中的系统参数控制。如果您没有使用TO_date函数显式地提供日期值,Oracle将希望日期字符串符合此格式。这就是为什么您的示例中会出现错误。此外,如果不提供时间值,则默认为00:00:00
同样的原理也适用于输出。只需选择以下值,即可接受日期值的默认输出:
SQL> select sysdate from dual;
SYSDATE
---------
27-JUN-15
SQL>
或者,您可以使用TO_CHAR对其进行格式化:
SQL> select TO_CHAR(sysdate, 'YYYY-MM-DD HH24:MI:SS') from dual;
TO_CHAR(SYSDATE,'YY
-------------------
2015-06-27 11:10:48
SQL>
你所说的键敏感是什么意思?最好将你的表模式包含在问句SELECT和SELECT中,因为我以前看到我的讲座写了所有内容,并且,从哪里开始,在哪里更改NLS\u日期\u格式。你的问题不清楚你在问什么。包括您的表结构、示例数据、错误信息(如果有),并描述问题对不起,我的问题很糟糕,请给我几分钟时间再次编辑您的销售表的表结构。但是,我是否需要创建一个时间段?为了节省时间?否。日期类型在同一列/变量中存储日期和时间。