Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Para que realmente serve o tipo de dados SQL national character (NCHAR)?


"NACIONAL" neste caso significa caracteres específicos de diferentes nacionalidades. As línguas do Extremo Oriente, especialmente, têm tantos caracteres que um byte não é espaço suficiente para distingui-los todos. Portanto, se você tiver um aplicativo somente em inglês (ascii) ou um campo somente em inglês , você pode usar os tipos CHAR e VARCHAR mais antigos, que permitem apenas um byte por caractere.

Dito isso, na maioria das vezes você deve usar NCHAR/NVARCHAR. Mesmo que você ache que não precisa dar suporte (ou potencialmente dar suporte) a vários idiomas em seus dados, até mesmo aplicativos somente em inglês precisam ser capazes de lidar com ataques de segurança usando caracteres de idiomas estrangeiros.

Na minha opinião, o único lugar onde os tipos CHAR/VARCHAR mais antigos ainda são preferidos é para códigos internos somente ASCII referenciados com frequência e dados em plataformas como Sql Server que suportam a distinção — dados que seriam equivalentes a um enum em uma linguagem cliente como C++ ou C#.