PARSE (Transact-SQL)
S’applique à : SQL Server base de données Azure SQL Azure SQL Managed Instance Azure Synapse Analytics Point de terminaison analytique SQL dans Microsoft Fabric Entrepôt dans Microsoft Fabric
Retourne le résultat d'une expression, traduit en type de données demandé dans SQL Server.
Conventions de la syntaxe Transact-SQL
Syntaxe
PARSE ( string_value AS data_type [ USING culture ] )
Arguments
string_value
Valeur nvarchar(4000) représentant la valeur mise en forme à analyser dans le type de données spécifié.
string_value doit être une représentation valide du type de données demandé, sinon PARSE génère une erreur.
data_type
Valeur littérale représentant le type de données demandé pour le résultat.
culture
Chaîne facultative qui identifie la culture dans laquelle string_value est mise en forme.
Si l’argument culture n’est pas fourni, la langue de la session en cours est utilisée. Cette langue est défini implicitement, ou explicitement à l'aide de l'instruction SET LANGAGE. culture accepte n’importe quelle culture prise en charge par le .NET Framework ; elle n’est pas limitée aux langues explicitement prises en charge par SQL Server. Si l’argument culture n’est pas valide, PARSE génère une erreur.
Types de retour
Retourne le résultat de l'expression, traduit en type de données demandé.
Notes
Les valeurs NULL passées comme arguments à PARSE sont traitées de deux façons :
Si une constante NULL est passée, une erreur est générée. Une valeur NULL ne peut pas être analysée en un type de données différent d'une manière compatible avec la culture.
Si un paramètre avec une valeur NULL est passé au moment de l'exécution, la valeur NULL est retournée, afin d'éviter l'annulation du traitement entier.
Utilisez PARSE uniquement pour effectuer une conversion d'une chaîne en un type date/heure ou numérique. Pour les conversions de type général, continuez à utiliser CAST ou CONVERT. N'oubliez pas qu'il existe une certaine surcharge des performances lors de l'analyse de la valeur de chaîne.
PARSE repose sur la présence du CLR (Common Langage Runtime) .NET Framework.
Cette fonction ne peut pas être exécutée à distance car elle dépend de la présence du CLR. L'exécution à distance d'une fonction qui nécessite le CLR provoquerait une erreur sur le serveur distant.
Informations supplémentaires sur le paramètre data_type
Les valeurs du paramètre data_type sont limitées aux types répertoriés avec les styles dans le tableau ci-dessous. Les informations sur le style sont fournies pour aider à déterminer les types de modèles autorisés. Pour plus d’informations sur les styles, consultez la documentation du .NET Framework pour les énumérations System.Globalization.NumberStyles et DateTimeStyles.
Category | Type | Type .NET Framework | Styles utilisés |
---|---|---|---|
Numérique | bigint | Int64 | NumberStyles.Number |
Numérique | int | Int32 | NumberStyles.Number |
Numérique | SMALLINT | Int16 | NumberStyles.Number |
Numérique | TINYINT | Byte | NumberStyles.Number |
Numérique | Décimal | Decimal | NumberStyles.Number |
Numérique | numeric | Decimal | NumberStyles.Number |
Numérique | float | Double | NumberStyles.Float |
Numérique | real | Unique | NumberStyles.Float |
Numérique | SMALLMONEY | Decimal | NumberStyles.Currency |
Numérique | money | Decimal | NumberStyles.Currency |
Date et heure | Date | DateTime | DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Date et heure | time | TimeSpan | DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Date et heure | datetime | DateTime | DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Date et heure | smalldatetime | DateTime | DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Date et heure | datetime2 | DateTime | DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Date et heure | datetimeoffset | DateTimeOffset | DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Informations supplémentaires sur le paramètre culture
Le tableau suivant montre les mappages des langues de SQL Server aux cultures .NET framework.
Nom complet | Alias | LCID | Culture spécifique |
---|---|---|---|
us_english | Anglais | 1033 | fr-FR |
Deutsch | Allemand | 1031 | de-DE |
Français | Français | 1036 | fr-FR |
日本語 | Japonais | 1041 | ja-JP |
Dansk | Danois | 1030 | da-DK |
Español | Espagnol | 3082 | es-ES |
Italiano | Italien | 1040 | it-IT |
Nederlands | Néerlandais | 1043 | nl-NL |
Norsk | Norvégien | 2068 | nn-NO |
Português | Portugais | 2070 | pt-PT |
Suomi | Finnois | 1035 | fi-FI |
Svenska | Suédois | 1053 | sv-SE |
čeština | Tchèque | 1029 | Cs-CZ |
magyar | Hongrois | 1038 | Hu-HU |
polski | Polonais | 1045 | Pl-PL |
română | Roumain | 1048 | Ro-RO |
hrvatski | Croate | 1050 | hr-HR |
slovenčina | Slovaque | 1051 | Sk-SK |
slovenski | Slovène | 1060 | Sl-SI |
ελληνικά | Grec | 1032 | El-GR |
български | Bulgare | 1026 | bg-BG |
русский | Russe | 1049 | Ru-RU |
Türkçe | Turc | 1055 | Tr-TR |
British | British English | 2057 | en-GB |
eesti | Estonien | 1061 | Et-EE |
latviešu | Letton | 1062 | lv-LV |
lietuvių | Lituanien | 1063 | lt-LT |
Português (Brasil) | Brésilien | 1046 | pt-br |
繁體中文 | Chinois traditionnel | 1028 | zh-TW |
한국어 | Coréen | 1042 | Ko-KR |
简体中文 | Chinois simplifié | 2052 | zh-CN |
Arabe | Arabe | 1025 | ar-SA |
ไทย | Thaï | 1054 | Th-TH |
Exemples
R. PARSE en datetime2
SELECT PARSE('Monday, 13 December 2010' AS datetime2 USING 'en-US') AS Result;
Voici le jeu de résultats.
Result
---------------
2010-12-13 00:00:00.0000000
(1 row(s) affected)
B. PARSE avec symbole monétaire
SELECT PARSE('€345,98' AS money USING 'de-DE') AS Result;
Voici le jeu de résultats.
Result
---------------
345.98
(1 row(s) affected)
C. PARSE avec définition implicite de la langue
-- The English language is mapped to en-US specific culture
SET LANGUAGE 'English';
SELECT PARSE('12/16/2010' AS datetime2) AS Result;
Voici le jeu de résultats.
Result
---------------
2010-12-16 00:00:00.0000000
(1 row(s) affected)