N'κόσμε'
je (víceméně) ekvivalentní CAST('κόσμε' AS NVARCHAR2(..))
Pomocí N'κόσμε'
řeknete "zacházejte s řetězcem jako s NVARCHAR". Pokud napíšete pouze 'κόσμε'
pak je řetězec považován za VARCHAR
. Váš NLS_CHARACTERSET
je WE8ISO8859P15
který nepodporuje řecké znaky. Získáte tak ?
jako zástupný symbol.
Nesdělili jste nám svůj NLS_NCHARACTERSET
s největší pravděpodobností podporuje Unicode.
btw, nemusíte select ... from dual
, stačí napsat like
l_ec := ASCIISTR('κόσμε');
v PL/SQL.
Jaké je vaše místní NLS_LANG
hodnotu, tedy na straně vašeho klienta? S největší pravděpodobností neodpovídá kódování znaků vašeho SQL*Plus. Další podrobnosti naleznete v této odpovědi:OdbcConnection vrací čínské znaky jako „?“