2015-10-25 68 views
0

我必須在查詢下運行,但它給我錯誤。如何在oracle中有空格的表中插入字符串

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

只要在引號(')之間,就可以插入空格。但是,日期是不同的類型,可能需要轉換。例如:

insert into tests values (TO_DATE('25-10-2015 15:58:02'...), 'd', 36734) 

但請注意,您需要參考TO_DATE syntax以瞭解正確的格式。重點是您需要檢查測試模式以驗證它正在查找日期。如果它是一個varchar格式或其他字符串類型,那麼它應該工作,除非你的字符串太長。如果它是一個日期,但是你需要傳遞一個日期。

+0

不依賴於** NLS_DATE_FORMAT **。 'TO_DATE'與NLS相關,您應該提及格式模型。 –

0
'25-10-2015 15:58:02' 

上面是一個STRING,而不是一個DATE。您必須使用TO_DATE和適當的FORMAT模型將其明確轉換爲日期。

例如,

INSERT ALL 
INTO tests VALUES 
    (
    TO_DATE('25-10-2015 15:58:02','DD-MM-YYYY HH24:MI:SS'), 
    'a', 
    238530 
) 
0

除了甲骨文的專有TO_CHAR你也可以寫一個標準的SQL時間戳文字TIMESTAMP接着是「YYYY-MM-DD HH(這是由大多數的DBMS包括Oracle支持): mi:ss'字符串(獨立於NLS_DATE_FORMAT):

TIMESTAMP '2015-10-25 15:58:02' 
相關問題