N'κόσμε'
は(多かれ少なかれ)CAST('κόσμε' AS NVARCHAR2(..))
と同等です
N'κόσμε'
を使用 「文字列をNVARCHARとして扱う」と言います。 'κόσμε'
だけを書くと その場合、文字列はVARCHAR
として扱われます 。ただし、NLS_CHARACTERSET
WE8ISO8859P15
です これはギリシャ文字をサポートしていません。したがって、?
を取得します プレースホルダーとして。
NLS_NCHARACTERSET
を教えてくれませんでした 設定、おそらくこれはUnicodeをサポートします。
ところで、select ... from dual
、単に次のように書く
l_ec := ASCIISTR('κόσμε');
PL/SQLで。
あなたのローカルは何ですか NLS_LANG
価値、つまりクライアント側で?ほとんどの場合、SQL*Plusの文字エンコードと一致しません。詳細については、次の回答を参照してください:OdbcConnectionが漢字を返す「?」として