2014-03-12 401 views
0

我有一個SELECT語句被寫入用於SQLPLUS與Oracle數據庫。
該代碼與SQLPlus完美兼容。
SQL與Oracle - 特殊符號

我想了解這個SELECT語句的意思是:

SELECT '"' || a1 || '","' || a2 || '","' || b1 || '","' || c1 || '","' || c2 || '","' || c3 || '","' || sum(d1) || '",' 
FROM ... 
WHERE ... 
GROUP BY ... 
ORDER BY ... 


具體來說,我想了解什麼符號的下列序列的含義:

|| 

&

'"' 

&

'","' 

&

'",' 

爲什麼在SELECT語句開始用'「||?
爲什麼SELECT部分​​以逗號結尾?

他們在做什麼?
他們等同於什麼?
這是從哪裏來的?這是SQLPlus還是Oracle原生的?我找不到任何描述這一點的文檔。我嘗試了很多谷歌搜索,但看到我不知道他們是什麼(因此搜索什麼),很難找到任何東西。

+0

單引號內的部分是規則的字符串,而''||將其連接。 –

+0

簡單的東西 - 谷歌up @ Jsh562 –

+0

看起來這是一個格式化的結果集CSV格式 – ninesided

回答

1

在ORACLE ||用來連接字符串連接在一起,它是一樣的SQL服務器+

'"' & '","' & '",'只是字符串的一部分。它只是用來顯示輸出,但沒有任何意義。

這裏是甲骨文連接運算符文檔http://docs.oracle.com/cd/B19306_01/server.102/b14200/operators003.htm

爲什麼在SELECT語句開始用'「||?

就像它在它完成包圍專欄評論中提到與"兩邊

爲什麼SELECT部分​​以逗號結尾?

這很奇怪,我希望它以一些其他字符結束以識別行結束。

他們在做什麼?他們在做什麼?

它很可能是CSV文件的特殊格式。

+0

感謝您的迴應! 「只意味着出現在輸出上」是什麼意思? –

+0

當你運行該查詢時,你會看到''一些數據「,」其他數據「' – 2014-03-12 17:21:02

+0

哦,我明白了。謝謝 –

1

見波紋管

  • ||將連接字符串+數據

  • '' - 將打印 」

  • 」,」' - 將打印 「」

  • '」,' - 將打印「,

    例如:

 

    SQL> select 
    '>>'|| 
    DESCRIPTION_PARAMETER || 
    ' string ' || 
    DESCRIPTION_PARAMETER || 
    ' $%&* ' 
    from parameters_companies; 
Examples output 
====================== 
>>BASE UTC string BASE UTC $%&*<br> 
>>WARRANTY string WARRANTY $%&*<br> 
>>BASE UTC string BASE UTC $%&*<br> 

SQL> 
+0

謝謝! 你能解釋爲什麼聲明的SELECT部分​​以「+並且以......結尾」開始,???並且以連接開頭還是以逗號結尾有什麼作用? –

+0

結果將被嵌入到「或者包含在'?'內的任何其他字符符號中 –