Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Database in Microsoft Fabric
Databases en databasetoepassingen die gebruikmaken van Transact-SQL instructies, worden draagbaarder van de ene taal naar de andere, of ondersteunen meerdere talen, als de volgende richtlijnen worden gevolgd:
Gebruik vanaf SQL Server 2019 (15.x) en in Azure SQL Database een van de volgende opties:
- De gegevenstypen char, varchar en varchar(max) met een UTF-8-sortering en gegevens worden gecodeerd met behulp van UTF-8.
- De gegevenstypen nchar, nvarchar en nvarchar(max) met ondersteuning voor aanvullende tekens (SC) en gegevens worden gecodeerd met behulp van UTF-16. Het gebruik van een niet-SC-sortering resulteert in gegevens die worden gecodeerd met UCS-2.
Dit voorkomt problemen met het converteren van codepagina's. Zie Opslagverschillen tussen UTF-8 en UTF-16 voor andere overwegingen.
Tot SQL Server 2017 (14.x) vervangt u alle toepassingen van de gegevenstypen char, varchar en varchar(max) door nchar, nvarchar en nvarchar(max). Als u een sortering met een aanvullend teken (SC) gebruikt, worden gegevens gecodeerd met UTF-16. Het gebruik van een niet-SC-sortering resulteert in gegevens die worden gecodeerd met UCS-2. Dit voorkomt problemen met het converteren van codepagina's. Zie Sortering en Unicode-ondersteuningvoor meer informatie.
Belangrijk
Het gegevenstype tekst is afgeschaft en mag niet worden gebruikt in nieuwe ontwikkelwerkzaamheden. Een plan om textgegevens te converteren naar varchar(max).
Wanneer u maand- en dag-van-weekvergelijkingen en bewerkingen uitvoert, gebruikt u de numerieke datumonderdelen in plaats van de naamtekenreeksen. Verschillende taalinstellingen retourneren verschillende namen voor de maanden en weekdagen. Retourneert
DATENAME(MONTH,GETDATE())bijvoorbeeldMaywanneer de taal is ingesteld op Amerikaans Engels, wordt geretourneerdMaiwanneer de taal is ingesteld op Duits en wordt geretourneerdmaiwanneer de taal is ingesteld op Frans. Gebruik in plaats daarvan een functie zoals DATEPART die het nummer van de maand gebruikt in plaats van de naam. Gebruik de namen DATEPART wanneer u resultatensets bouwt die worden weergegeven aan een gebruiker, omdat de datumnamen vaak zinvoller zijn dan een numerieke weergave. Codeer echter geen logica die afhankelijk is van de weergegeven namen die afkomstig zijn van een specifieke taal.Wanneer u datums opgeeft in vergelijkingen of voor invoer voor INSERT- of UPDATE-instructies, gebruikt u constanten die op dezelfde manier worden geïnterpreteerd voor alle taalinstellingen:
ADO-, OLE DB- en ODBC-toepassingen moeten gebruikmaken van de ODBC-tijdstempel, -datum- en -tijd-escape-componenten van:
{ ts'jjjj-mm-ddhh:mm:ss [.fff] '} zoals: { ts'1998-09-24 10:02:20'}
{ d'jjjj-mm-dd'} zoals: { d'1998-09-24'}
{ t'uu:mm:ss}, zoals: { t'10:02:20'}
Toepassingen die gebruikmaken van andere API's, of Transact-SQL scripts, opgeslagen procedures en triggers, moeten de niet-gescheiden numerieke tekenreeksen gebruiken. Bijvoorbeeld jjjjmmdd als 19980924.
Toepassingen die andere API's gebruiken, of Transact-SQL scripts, opgeslagen procedures en triggers, moeten de CONVERT-instructie gebruiken met een expliciete stijlparameter voor alle conversies tussen de tijd, datum, smalldate, datum/tijd, datum/tijd2, datetimeoffset-gegevenstypen en tekenreeksgegevenstypen. De volgende instructie wordt bijvoorbeeld op dezelfde manier geïnterpreteerd voor alle verbindingsinstellingen voor taal- of datumnotatie:
SELECT * FROM AdventureWorks2022.Sales.SalesOrderHeader WHERE OrderDate = CONVERT(DATETIME, '20060719', 101)
Zie ook
CAST en CONVERTEREN (Transact-SQL)
DATEPART (Transact-SQL)
Sorteervolgorde en Unicode-ondersteuning