Microsoft SQL Server
Datatypes omzetten
Zoeken…
PROBEER PARSE
Het converteert string-gegevenstype naar doelgegevenstype (datum of numeriek).
Brongegevens zijn bijvoorbeeld van het stringtype en we moeten het tot datumtype verbergen. Als de conversiepoging mislukt, wordt de waarde NULL geretourneerd.
Syntaxis: TRY_PARSE (string_waarde AS data_type [cultuur gebruiken])
String_value - Dit argument is de bronwaarde van het type NVARCHAR (4000).
Data_type - Dit argument is het doelgegevenstype datum of numeriek.
Cultuur - Het is een optioneel argument dat helpt om de waarde om te zetten naar in Cultuur-formaat. Stel dat u de datum in het Frans wilt weergeven, dan moet u het cultuurtype doorgeven als 'Fr-FR'. Als u geen geldige cultuurnaam doorgeeft, geeft PARSE een foutmelding.
DECLARE @fakeDate AS varchar(10);
DECLARE @realDate AS VARCHAR(10);
SET @fakeDate = 'iamnotadate';
SET @realDate = '13/09/2015';
SELECT TRY_PARSE(@fakeDate AS DATE); --NULL as the parsing fails
SELECT TRY_PARSE(@realDate AS DATE); -- NULL due to type mismatch
SELECT TRY_PARSE(@realDate AS DATE USING 'Fr-FR'); -- 2015-09-13
PROBEER OMZETTEN
Het converteert waarde naar het opgegeven gegevenstype en als de conversie mislukt, wordt NULL geretourneerd. Bijvoorbeeld, bronwaarde in tekenreeksindeling en we hebben de notatie datum / geheel getal nodig. Dan zal dit ons helpen hetzelfde te bereiken.
Syntaxis: TRY_CONVERT (data_type [(lengte)], expressie [, stijl])
TRY_CONVERT () retourneert een waardecast naar het opgegeven gegevenstype als de cast slaagt; anders wordt null geretourneerd.
Data_type - Het datatype waarnaar moet worden geconverteerd. Hier is lengte een optionele parameter die helpt om het resultaat in de opgegeven lengte te krijgen.
Expressie - De waarde die moet worden geconverteerd
Stijl - Het is een optionele parameter die de opmaak bepaalt. Stel dat u een datumnotatie wilt zoals '18 mei 2013', dan heeft u een passtijl nodig als 111.
DECLARE @sampletext AS VARCHAR(10);
SET @sampletext = '123456';
DECLARE @ realDate AS VARCHAR(10);
SET @realDate = '13/09/2015’;
SELECT TRY_CONVERT(INT, @sampletext); -- 123456
SELECT TRY_CONVERT(DATETIME, @sampletext); -- NULL
SELECT TRY_CONVERT(DATETIME, @realDate, 111); -- Sep, 13 2015
PROBEER CAST
Het converteert waarde naar het opgegeven gegevenstype en als de conversie mislukt, wordt NULL geretourneerd. Bijvoorbeeld, bronwaarde in tekenreeksindeling en we hebben deze nodig in de notatie dubbel / geheel getal. Dan zal dit ons helpen dit te bereiken.
Syntaxis: TRY_CAST (expressie AS data_type [(lengte)])
TRY_CAST () retourneert een waardecast naar het opgegeven gegevenstype als de cast slaagt; anders wordt null geretourneerd.
Expression - De bronwaarde die naar cast gaat.
Data_type - Het doelgegevenstype dat de bronwaarde zal casten.
Lengte - het is een optionele parameter die de lengte van het doelgegevenstype specificeert.
DECLARE @sampletext AS VARCHAR(10);
SET @sampletext = '123456';
SELECT TRY_CAST(@sampletext AS INT); -- 123456
SELECT TRY_CAST(@sampletext AS DATE); -- NULL
Gips
De functie Cast () wordt gebruikt om een variabele van het gegevenstype of gegevens van het ene gegevenstype naar een ander gegevenstype te converteren.
Syntaxis
CAST ([Expression] AS Datatype)
Het gegevenstype waarnaar u een uitdrukking cast, is het doeltype. Het gegevenstype van de uitdrukking waaruit u cast, is het brontype.
DECLARE @A varchar(2)
DECLARE @B varchar(2)
set @A='25a'
set @B='15'
Select CAST(@A as int) + CAST(@B as int) as Result
--'25a' is casted to 25 (string to int)
--'15' is casted to 15 (string to int)
--Result
--40
DECLARE @C varchar(2) = 'a'
select CAST(@C as int) as Result
--Result
--Conversion failed when converting the varchar value 'a' to data type int.
Gooit fout indien mislukt
Converteren
Wanneer u expressies van het ene type naar het andere converteert, is het in veel gevallen nodig om binnen een opgeslagen procedure of andere routine gegevens van een datetime-type naar een varchar-type te converteren. De Convert-functie wordt voor dergelijke dingen gebruikt. De functie CONVERT () kan worden gebruikt om datum- / tijdgegevens in verschillende indelingen weer te geven. Syntaxis
CONVERT (data_type (lengte), uitdrukking, stijl)
Stijl - stijlwaarden voor datetime of smalldatetime-conversie naar karaktergegevens. Voeg 100 toe aan een stijlwaarde om een jaar met vier plaatsen te krijgen dat de eeuw (jjjj) omvat.
select convert(varchar(20),GETDATE(),108)
13:27:16