首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ORACLE-11g在数据库中插入timestamp类型和包含撇号的数据

使用ORACLE-11g在数据库中插入timestamp类型和包含撇号的数据
EN

Stack Overflow用户
提问于 2015-09-02 14:07:54
回答 4查看 606关注 0票数 1

我已经成功地创建了表,如下所示:

代码语言:javascript
复制
CREATE TABLE TOY_STORE
(
  TOY_STORE_ID NUMBER(3) PRIMARY KEY,
  TOY_STORE_NAME VARCHAR2(30) NOT NULL,
  CITY VARCHAR2(30) DEFAULT 'Delhi',
  PHONENUMBER NUMBER(10) NOT NULL UNIQUE,
  STORE_OPENING_TIME TIMESTAMP,
  STORE_CLOSING_TIME TIMESTAMP
);

ALTER TABLE TOY_STORE ADD CHECK (EXTRACT(HOUR FROM CAST (TO_CHAR (STORE_OPENING_TIME, 'YYYY-MON-DD HH24:MI:SS') AS TIMESTAMP)) > 8 || NULL);

ALTER TABLE TOY_STORE ADD CHECK (EXTRACT(HOUR FROM CAST(TO_CHAR(STORE_CLOSING_TIME, 'YYYY-MON-DD HH24:MI:SS') AS TIMESTAMP)) < 22 || NULL);

现在我想在表中输入数据。我执行了以下命令(这里的第二个数据是"Kid's Cave"),

代码语言:javascript
复制
INSERT INTO TOY_STORE VALUES(1, 'Kid''s Cave', 'Delhi', 9912312312, 2014-04-01 09:10:12, 2014-04-01 21:42:05); 

但是它显示了以下错误..

代码语言:javascript
复制
ORA-00917: missing comma

请解释一下

EN

回答 4

Stack Overflow用户

发布于 2015-09-02 14:10:49

您需要将日期放入''中。试试这个:

代码语言:javascript
复制
INSERT INTO TOY_STORE 
VALUES(1, 'Kid''s Cave', 'Delhi', 9912312312, '2014-04-01 09:10:12', '2014-04-01 21:42:05'); 

旁注:

我将建议您使用varchar()而不是Number数据类型来存储PhoneNumbers

票数 0
EN

Stack Overflow用户

发布于 2015-09-02 14:12:04

日期在查询中没有单引号-使用如下所示:

代码语言:javascript
复制
'2014-04-01 09:10:12', '2014-04-01 21:42:05'
票数 0
EN

Stack Overflow用户

发布于 2015-09-02 14:14:47

尝试使用to_date将字符串转换为date

代码语言:javascript
复制
INSERT INTO TOY_STORE 
VALUES (1, 'Kid''s Cave', 'Delhi', 9912312312, 
        to_date('2014-04-01 09:10:12', 'yyyy-mm-dd hh24:mi:ss'),
        to_date('2014-04-01 21:42:05', 'yyyy-mm-dd hh24:mi:ss'));

您也可以使用TIMESTAMP literal

代码语言:javascript
复制
INSERT INTO TOY_STORE 
VALUES (1, 'Kid''s Cave', 'Delhi', 9912312312, 
        TIMESTAMP '2014-04-01 09:10:12',
        TIMESTAMP '2014-04-01 21:42:05');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32345731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档