我必须运行以下查询,但它给了我错误。
INSERT ALL
INTO tests VALUES
(
'25-10-2015 15:58:02',
'a',
238530
)
INTO tests VALUES
(
'25-10-2015 15:58:02',
'b',
1234
)
INTO tests VALUES
(
'25-10-2015 15:58:02',
'c',
4759
)
INTO tests VALUES
(
'25-10-2015 15:58:02',
'd',
36734
)
SELECT * FROM dual;
有什么方法可以插入字符串中有空格的字符串。
答案 0 :(得分:0)
您可以插入空格,只要它在引号之间(')。但是,日期是不同的类型,可能需要转换。例如:
insert into tests values (TO_DATE('25-10-2015 15:58:02'...), 'd', 36734)
但是请注意,您需要引用TO_DATE syntax才能正确格式化。重点是您需要检查测试模式以验证它是否正在查找日期。如果它是varchar格式或其他一些字符串类型,那么它应该可以工作,除非你的字符串太长。如果是日期,则需要将日期传递给它。
答案 1 :(得分:0)
'25-10-2015 15:58:02'
以上是 STRING ,而不是 DATE 。您必须使用 TO_DATE 和正确的 FORMAT MODEL 将其明确转换为日期。
例如,
INSERT ALL
INTO tests VALUES
(
TO_DATE('25-10-2015 15:58:02','DD-MM-YYYY HH24:MI:SS'),
'a',
238530
)
答案 2 :(得分:0)
除了Oracle的专有TO_CHAR
,您还可以编写标准SQL时间戳文字(大多数DBMS支持,包括Oracle),TIMESTAMP
后跟'yyyy-mm-dd hh:mi:ss 'string(独立于NLS_DATE_FORMAT):
TIMESTAMP '2015-10-25 15:58:02'