Microsoft SQL Server
Conversion de types de données
Recherche…
ESSAYEZ PARSE
Il convertit le type de données chaîne en type de données cible (Date ou Numérique).
Par exemple, les données source sont du type chaîne et nous devons les convertir en type date. Si la tentative de conversion échoue, elle renvoie la valeur NULL.
Syntaxe: TRY_PARSE (string_value AS data_type [culture USING])
String_value - Cet argument est la valeur source qui est de type NVARCHAR (4000).
Data_type - Cet argument est le type de données cible, date ou numérique.
Culture - C'est un argument facultatif qui permet de convertir la valeur au format Culture. Supposons que vous souhaitiez afficher la date en français, vous devez alors passer le type de culture comme «Fr-FR». Si vous ne passez pas de nom de culture valide, PARSE générera une erreur.
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
ESSAYEZ CONVERTIR
Il convertit la valeur en type de données spécifié et, en cas d'échec de la conversion, renvoie NULL. Par exemple, la valeur source au format chaîne et nous avons besoin du format date / entier. Ensuite, cela nous aidera à réaliser la même chose.
Syntaxe: TRY_CONVERT (type_données [(longueur)], expression [, style])
TRY_CONVERT () renvoie une valeur convertie au type de données spécifié si la conversion réussit; sinon, renvoie null.
Data_type - Le type de données dans lequel convertir. Ici, length est un paramètre facultatif qui aide à obtenir un résultat dans la longueur spécifiée.
Expression - La valeur à convertir
Style - C'est un paramètre facultatif qui détermine le formatage. Supposons que vous souhaitiez un format de date tel que «18 mai 2013», alors vous avez besoin du style de passe comme 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
ESSAYEZ CAST
Il convertit la valeur en type de données spécifié et, en cas d'échec de la conversion, renvoie NULL. Par exemple, la valeur source au format chaîne et nous en avons besoin au format double / entier. Cela nous aidera alors à y parvenir.
Syntaxe: TRY_CAST (expression AS data_type [(length)])
TRY_CAST () renvoie une valeur convertie au type de données spécifié si la conversion réussit; sinon, renvoie null.
Expression - La valeur source qui sera envoyée.
Data_type - Le type de données cible que la valeur source va générer.
Length - C'est un paramètre facultatif qui spécifie la longueur du type de données cible.
DECLARE @sampletext AS VARCHAR(10);
SET @sampletext = '123456';
SELECT TRY_CAST(@sampletext AS INT); -- 123456
SELECT TRY_CAST(@sampletext AS DATE); -- NULL
Jeter
La fonction Cast () permet de convertir une variable de type de données ou des données d'un type de données en un autre type de données.
Syntaxe
CAST ([Expression] AS Datatype)
Le type de données sur lequel vous transposez une expression est le type cible. Le type de données de l'expression à partir de laquelle vous avez transtypé est le type de source.
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.
Lance une erreur en cas d'échec
Convertir
Lorsque vous convertissez des expressions d'un type à un autre, dans une procédure stockée ou une autre routine, il est souvent nécessaire de convertir les données d'un type datetime en un type varchar. La fonction Convert est utilisée pour de telles choses. La fonction CONVERT () peut être utilisée pour afficher les données de date / heure sous différents formats. Syntaxe
CONVERT (data_type (length), expression, style)
Style - valeurs de style pour la conversion datetime ou smalldatetime en données de caractère. Ajoutez 100 à une valeur de style pour obtenir une année à quatre places incluant le siècle (aaaa).
select convert(varchar(20),GETDATE(),108)
13:27:16