sql >> Databasteknik >  >> RDS >> Oracle

Oracle PLSQL motsvarighet till ASCIISTR(N'str')

N'κόσμε' är (mer eller mindre) ekvivalent med CAST('κόσμε' AS NVARCHAR2(..))

Med N'κόσμε' du säger "behandla strängen som NVARCHAR". Om du bara skriver 'κόσμε' då behandlas strängen som VARCHAR . Din NLS_CHARACTERSET är WE8ISO8859P15 som inte stöder grekiska tecken. Alltså får du ? som platshållare.

Du berättade inte för oss din NLS_NCHARACTERSET inställning, troligen stöder den Unicode.

btw, du behöver inte select ... from dual , skriv bara gilla

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

i PL/SQL.

Vad är din lokal NLS_LANG värde, det vill säga på din kundsida? Troligtvis matchar den inte teckenkodningen för din SQL*Plus. Se det här svaret för mer information:OdbcConnection returnerar kinesiska tecken som "?"



  1. Ta reda på vilket kvartal en dejt tillhör i Oracle

  2. Hur man beräknar månad över månad tillväxt i PostgreSQL

  3. PHP-webbplatssökning och visning av objekt

  4. Single commit vid import av mycket stora SQL-filer (MySQL)