Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Banco de dados SQL no Microsoft Fabric
Os bancos de dados e aplicativos de bancos de dados que usarem instruções Transact-SQL se tornarão mais portáteis de uma linguagem de programação para outra ou darão suporte a várias linguagens, se as diretrizes a seguir forem cumpridas:
No SQL Server 2019 (15.x) e no Banco de Dados SQL do Azure, use uma das opções a seguir:
- Os tipos de dados char, varchar e varchar(max) com uma ordenação compatível com UTF-8, e os dados são codificados em UTF-8.
- Os tipos de dados nchar, nvarchar e nvarchar(max) com agrupamento habilitado para caracteres suplementares (SC), e os dados são codificados em UTF-16. O uso de uma ordenação não SC resulta na codificação de dados usando o UCS-2.
Isso evita problemas de conversão de página de código. Para acessar outras considerações, confira Diferenças de armazenamento entre UTF-8 e UTF-16.
Até o SQL Server 2017 (14.x), substitua todos os usos dos tipos de dados char, varchar e varchar(max) comnchar, nvarchar e nvarchar(max). Se estiver usando um agrupamento com suporte a caractere suplementar (SC), os dados serão codificados em UTF-16. O uso de uma ordenação não SC resulta na codificação de dados usando o UCS-2. Isso evita problemas de conversão de página de código. Para obter mais informações, consulte Suporte de agrupamento e unicode.
Importante
O tipo de dados texto foi preterido e não deve ser usado em novos trabalhos de desenvolvimento. Planeje converter dados de texto em varchar(max).
Ao realizar comparações e operações de mês e dia da semana, use as partes de data numérica em vez de cadeias de caracteres de nomes. Configurações de linguagem diferentes retornam nomes diferentes para os meses e dias de semana. Por exemplo,
DATENAME(MONTH,GETDATE())retornaMayquando o idioma está definido como inglês dos EUA, retornaMaiquando o idioma é definido como alemão e retornamaiquando o idioma é definido como francês. No lugar, use uma função como DATEPART que usa o número do mês ao invés do nome. Use os nomes DATEPART quando for construir conjuntos de resultados a serem exibidos a um usuário, pois os nomes de datas geralmente são mais significativos que uma representação numérica. Porém, não codifique nenhuma lógica que dependa de os nomes exibidos estarem em um idioma específico.Ao especificar datas em comparações ou como entrada para instruções INSERT ou UPDATE, use constantes que sejam interpretadas da mesma forma em todas as configurações de idioma:
Os aplicativos ADO, OLE DB e ODBC devem usar as cláusulas de escape ODBC de timestamp, data e hora a seguir:
{ ts'yyyy-mm-ddhh:mm:ss [.fff] '} por exemplo: { ts'1998-09-24 10:02:20'}
{ d'yyyy-mm-dd'} como: { d'1998-09-24'}
{ t'hh:mm:ss'} como: { t'10:02:20'}
Os aplicativos que usam outras APIs, scripts Transact-SQL, procedimentos armazenados e gatilhos devem usar as sequências numéricas sem separadores. Por exemplo, yyyymmdd como 19980924.
Os aplicativos que usam outras APIs ou que usam scripts Transact-SQL, procedimentos armazenados e gatilhos devem usar a instrução CONVERT com um parâmetro de estilo explícito para todas as conversões entre os tipos de dados time, date, smalldate, datetime, datetime2, e datetimeoffset e os tipos de dados da cadeia de caracteres. Por exemplo, a instrução a seguir é interpretada da mesma maneira para todas as configurações de conexão de idioma ou formato de data:
SELECT * FROM AdventureWorks2022.Sales.SalesOrderHeader WHERE OrderDate = CONVERT(DATETIME, '20060719', 101)
Confira também
CAST e CONVERT (Transact-SQL)
DATEPART (Transact-SQL)
Suporte a ordenação e Unicode