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 Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric
Geeft een waarde terug die wordt gecast naar het opgegeven datatype als de cast slaagt; anders geeft NULL.
Transact-SQL syntaxis-conventies
Syntaxis
TRY_CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
Arguments
data_type
Het gegevenstype waarin de expressie moet worden gecast.
length
Een optioneel geheel getal dat de lengte van het doelgegevenstype aangeeft, voor gegevenstypen die een door de gebruiker opgegeven lengte toestaan. De maximale waarde voor lengte is 8.000 bytes.
expressie
De waarde om te casten.
stijl
Optionele gehele expressie die specificeert hoe de TRY_CONVERT functie de expressie moet vertalen.
stijl accepteert dezelfde waarden als de stijlparameter van de CONVERT functie. Zie CAST en CONVERTvoor meer informatie.
De waarde van data_type bepaalt het bereik van acceptabele waarden. Als stijl is NULL, dan TRY_CONVERT geeft .NULL
Retourtypen
Geeft een waarde terug die wordt gecast naar het opgegeven datatype als de cast slaagt; anders geeft NULL.
Opmerkingen
TRY_CONVERT neemt de waarde die eraan is doorgegeven en probeert deze te converteren naar de opgegeven data_type. Als de cast slaagt, TRY_CONVERT geeft de waarde terug als de gespecificeerde data_type; als er een fout optreedt, NULL wordt teruggegeven. Als u echter een conversie aanvraagt die expliciet niet is toegestaan, mislukt het TRY_CONVERT met een fout.
TRY_CONVERT is een gereserveerd trefwoord, beginnend met compatibiliteitsniveau 110.
Deze functie kan op afstand worden overgeschakeld naar servers die SQL Server 2012 (11.x) en latere versies hebben. Het wordt niet op afstand gekoppeld aan servers die een versie hebben die ouder is dan SQL Server 2012 (11.x).
Voorbeelden
Eén. TRY_CONVERT geeft NULL terug
Het volgende voorbeeld laat zien dat
TRY_CONVERTterugkomtNULLwanneer de cast faalt.SELECT CASE WHEN TRY_CONVERT(FLOAT, 'test') IS NULL THEN 'Cast failed' ELSE 'Cast succeeded' END AS Result; GODeze query geeft een resultaat van
Cast failed.In het volgende voorbeeld ziet u dat de expressie de verwachte indeling moet hebben.
SET DATEFORMAT dmy; SELECT TRY_CONVERT(DATETIME2, '12/31/2022') AS Result; GODeze query geeft een resultaat van
NULL.
B. TRY_CONVERT faalt door een fout
In het volgende voorbeeld ziet u dat TRY_CONVERT er een fout wordt geretourneerd wanneer de cast expliciet niet is toegestaan.
SELECT TRY_CONVERT(XML, 4) AS Result;
GO
Het resultaat van deze instructie is een fout, omdat een geheel getal niet in het xml-datatype kan worden gecast.
Explicit conversion from data type int to xml is not allowed.
C. TRY_CONVERT slaagt
In dit voorbeeld ziet u dat de expressie de verwachte indeling moet hebben.
SET DATEFORMAT mdy;
SELECT TRY_CONVERT(DATETIME2, '12/31/2022') AS Result;
GO
Deze query geeft een resultaat van 2022-12-31 00:00:00.0000000.