oracle中sql拼接的單引號問題

2021-09-26 03:18:17 字數 986 閱讀 6765

/*a.首尾單引號為字串識別標識,不做轉譯用*/

select ''||to_char('crudboy')||'' from dual;--crudboy

/*b.首尾單引號裡面如果出現的單引號,並且有多個,則相連兩個單引號轉譯為乙個字串單引號*/

select '''' || to_char('crudboy') || '''' from dual;--'crudboy'

select '''''' || to_char('crudboy') || '''''' from dual;--''crudboy''

select '''''''' || to_char('crudboy') || '''''''' from dual;--'''crudboy'''

/*c.單引號一定成對出現,否者這個字串出錯,因為字串不知道哪個單引號負責結束*/

select ' '' ' ||' ' || ' '' ' || to_char('crudboy')||' '' ' ||' ' || ' '' ' from dual;-- ' ' crudboy ' '

select ' '' ' ||' ' || ' '' ' || to_char('crudboy') from dual;-- ' ' crudboy

/*''';'同時滿足a.b*/

select ' '' ' ||' ' || ' '' ' || to_char('crudboy')||''';' from dual;-- ' ' crudboy';

oracle語句拼接應該記住的三點,同時應該靈活運用/*''';'同時滿足a.b*/ select ' '' ' ||' ' || ' '' ' || to_char('crudboy')||''';' from dual;-- ' ' crudboy';轉譯與標識的完美結合,二者同時存在。

寫在最後

紙上得來終覺淺,絕知此事要躬行

Oracle中動態SQL拼接

1.直接用單引號,單引號的使用是就近配對,即就近原則。從第二個單引號開始被視為轉義符 v sql insert into bjtongrentangtemptb select distinct h.sellerid,h.sellercode,h.sellername,h.prodcode,h.pro...

拼接SQL語句 Oracle

因為專案需要,有一段select語句中的列,想實現可配置,因此就需要用for迴圈。但嘗試之後發現select語句中是不允許放for迴圈的。需求 select column1,column2,column3,column41,column42,column43,column44.from table1...

SQL中concat 字段拼接函式

concat函式,可以將多個字段拼接成乙個字段,如果有乙個值是null,返回的也是null concat ws函式,可以將多個字段拼接成乙個字段,並且指定分隔符 group concat 函式,將指定欄位的值列印在一行,預設 分割。此函式常用與分組之後 這樣的資料並不是我們想要的 在sparksql...