Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Oracle PLSQL tương đương với ASCIISTR (N'str ')

N'κόσμε' là (nhiều hơn hoặc ít hơn) tương đương với CAST('κόσμε' AS NVARCHAR2(..))

Với N'κόσμε' bạn nói "coi chuỗi là NVARCHAR". Nếu bạn chỉ viết 'κόσμε' thì chuỗi được coi là VARCHAR . Tuy nhiên, NLS_CHARACTERSET của bạn là WE8ISO8859P15 không hỗ trợ các ký tự Hy Lạp. Do đó, bạn nhận được ? dưới dạng trình giữ chỗ.

Bạn đã không cho chúng tôi biết NLS_NCHARACTERSET của bạn , rất có thể điều này hỗ trợ Unicode.

btw, bạn không cần phải select ... from dual , chỉ cần viết như

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

trong PL / SQL.

địa phương của bạn là gì NLS_LANG giá trị, tức là ở phía khách hàng của bạn? Nhiều khả năng nó không khớp với mã hóa ký tự của SQL * Plus của bạn. Xem câu trả lời này để biết thêm chi tiết: OdbcConnection trả lại các ký tự Trung Quốc là "?"



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:các vấn đề mã hóa có thể xảy ra khi nhập dữ liệu

  2. Tôi nên chỉnh sửa truy vấn như thế nào để cải thiện hiệu suất trong khi vẫn giữ cấu trúc hiện có?

  3. Đang đợi một công việc đã gửi kết thúc trong Oracle PL / SQL?

  4. Oracle.DataAccess.Client.OracleException ORA-03135:kết nối bị mất liên lạc

  5. Lỗi chung:1008 OCIStmtExecute:ORA-01008:không phải tất cả các biến bị ràng buộc