0

我正在尝试将带有引号的以下值插入表中。它给我错误。我怎样才能避免错误。

'CASE WHEN index_col IS NULL THEN '.' ELSE index_col END'

点字符的转义序列是什么?我尝试了不同的选项,例如反斜杠\[]但没有任何效果?

4

1 回答 1

3

一种经典的方法是将撇号加倍:

select 
  'CASE WHEN index_col IS NULL THEN ''.'' ELSE index_col END'
from dual;

另一种方法是使用带引号的字符串

select 
  q'!CASE WHEN index_col IS NULL THEN '.' ELSE index_col END!'
from dual;

无论如何,问题不在于点字符,而在于撇号

于 2018-07-02T20:49:12.463 回答