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

Kiểu dữ liệu SQL national character (NCHAR) thực sự dùng để làm gì?

"QUỐC GIA" trong trường hợp này có nghĩa là các ký tự đặc trưng cho các quốc tịch khác nhau. Các ngôn ngữ Viễn đông đặc biệt có nhiều ký tự đến nỗi một byte không đủ chỗ để phân biệt tất cả. Vì vậy, nếu bạn có ứng dụng chỉ có tiếng Anh (ascii) hoặc trường chỉ có tiếng Anh , bạn có thể sử dụng các loại CHAR và VARCHAR cũ hơn, chỉ cho phép một byte trên mỗi ký tự.

Điều đó nói rằng, hầu hết thời gian bạn nên sử dụng NCHAR / NVARCHAR. Ngay cả khi bạn không nghĩ rằng mình cần hỗ trợ (hoặc có khả năng hỗ trợ) nhiều ngôn ngữ trong dữ liệu của mình, ngay cả các ứng dụng chỉ có tiếng Anh cũng cần có khả năng xử lý hợp lý các cuộc tấn công bảo mật bằng cách sử dụng các ký tự tiếng nước ngoài.

Theo ý kiến ​​của tôi, về nơi duy nhất mà các loại CHAR / VARCHAR cũ hơn vẫn được ưu tiên là cho các mã nội bộ chỉ ascii được tham chiếu thường xuyên và dữ liệu trên các nền tảng như Máy chủ Sql hỗ trợ sự phân biệt - dữ liệu sẽ tương đương với một mã <> enum bằng ngôn ngữ khách như C ++ hoặc C #.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL nhiều cột trong mệnh đề IN

  2. Cập nhật một bảng trong Oracle nếu bất kỳ giá trị trường nào là rỗng và xác định rằng cập nhật thành công

  3. Chuyển đổi ký tự đặc biệt thành văn bản thuần túy trong oracle

  4. Kiểu dữ liệu Java nào tương ứng với kiểu dữ liệu SQL của Oracle là NUMERIC?

  5. node.js oracledb Không Chèn cũng không Cập nhật