Oracle
 sql >> Database >  >> RDS >> Oracle

Equivalente Oracle PLSQL di ASCIISTR(N'str')

N'κόσμε' è (più o meno) equivalente a CAST('κόσμε' AS NVARCHAR2(..))

Con N'κόσμε' dici "tratta la stringa come NVARCHAR". Se scrivi solo 'κόσμε' quindi la stringa viene trattata come VARCHAR . Tuttavia, il tuo NLS_CHARACTERSET è WE8ISO8859P15 che non supporta i caratteri greci. Quindi ottieni ? come segnaposto.

Non ci hai comunicato il tuo NLS_NCHARACTERSET impostazione, molto probabilmente questo supporta Unicode.

a proposito, non devi select ... from dual , scrivi semplicemente mi piace

l_ec := ASCIISTR('κόσμε');

in PL/SQL.

Qual è il tuo locale NLS_LANG valore, cioè al tuo fianco cliente? Molto probabilmente non corrisponde alla codifica dei caratteri del tuo SQL*Plus. Vedi questa risposta per maggiori dettagli:OdbcConnection che restituisce caratteri cinesi come "?"