sql >> Databasteknik >  >> RDS >> Oracle

Vad är datatypen SQL national character (NCHAR) egentligen till för?

"NATIONAL" betyder i detta fall karaktärer som är specifika för olika nationaliteter. Språk i Fjärran Östern har särskilt så många tecken att en byte inte räcker med utrymme för att särskilja dem alla. Så om du har en app enbart för engelska (ascii) eller ett fält som endast är på engelska , kan du komma undan med de äldre CHAR- och VARCHAR-typerna, som bara tillåter en byte per tecken.

Som sagt, för det mesta bör du använda NCHAR/NVARCHAR. Även om du inte tror att du behöver stödja (eller potentiellt stödja) flera språk i din data, måste även appar som bara är på engelska kunna hantera säkerhetsattacker på ett förnuftigt sätt med hjälp av främmande språk.

Enligt min åsikt är ungefär det enda stället där de äldre CHAR/VARCHAR-typerna fortfarande föredras för ofta refererade ascii-bara interna koder och data på plattformar som SQL Server som stöder distinktionen - data som skulle motsvara en enum på ett klientspråk som C++ eller C#.



  1. Skapa ett index på en tabellvariabel

  2. uppdateringsfråga med join på två tabeller

  3. PHP - Matchande söktermer mysql_query

  4. Få exakt resultat för nummerdelning