select a.keyword,a.keyalias,a.key_doc
,a.keyword+(CASE WHEN a.keyalias IS NULL THEN '' else '\\'+a.keyalias END)+(CASE WHEN a.key_doc IS NULL THEN '' else ':'+a.key_doc END) from myTableName a
,a.keyword+(CASE WHEN a.keyalias IS NULL THEN '' else '\\'+a.keyalias END)+(CASE WHEN a.key_doc IS NULL THEN '' else ':'+a.key_doc END) from myTableName a
,a.keyword||(CASE WHEN a.keyalias IS NULL THEN '' else '\\'||a.keyalias END)||(CASE WHEN a.key_doc IS NULL THEN '' else ':'||a.key_doc END) from myTableName a
不行的。将“+”都改成“||”后,执行到'\\'||a.keyalias END 的a前面时,提示:
ORA-12704:字符集不匹配
a.keyalias,
a.key_doc,
a.keyword || decode(a.keyalias, NULL, '', '\\' || a.keyalias) ||decode(a.key_doc, NULL, '', ':' || a.key_doc)
from myTableName a
------ ------ ------ ------
1 a A 1\\a:A
2 b 2\\b
3 C 3:C
4 4
a.keyalias,
a.key_doc,
decode(a.keyalias, null, '', '\\' || a.keyalias) ||
decode(a.key_doc, null, '', ':' || a.key_doc)
from myTableName a;