SQL Fonction de configuration et de conversion


Exemple

Un exemple de fonction de configuration dans SQL est la fonction @@SERVERNAME . Cette fonction fournit le nom du serveur local exécutant SQL.

SELECT @@SERVERNAME AS 'Server'
Serveur
SQL064

En SQL, la plupart des conversions de données ont lieu implicitement, sans intervention de l'utilisateur.

Pour effectuer des conversions qui ne peuvent être exécutées implicitement, vous pouvez utiliser les fonctions CAST ou CONVERT .

La syntaxe de la fonction CAST est plus simple que la syntaxe de la fonction CONVERT , mais elle est limitée dans ce qu’elle peut faire.

Ici, nous utilisons les fonctions CAST et CONVERT pour convertir le type de données datetime en type de données varchar .

La fonction CAST utilise toujours le paramètre de style par défaut. Par exemple, il représentera les dates et les heures en utilisant le format AAAA-MM-JJ.

La fonction CONVERT utilise le style de date et d'heure que vous spécifiez. Dans ce cas, 3 spécifie le format de date jj / mm / aa.

USE AdventureWorks2012
GO
SELECT FirstName + ' ' + LastName + ' was hired on ' +
       CAST(HireDate AS varchar(20)) AS 'Cast',
       FirstName + ' ' + LastName + ' was hired on ' +
       CONVERT(varchar, HireDate, 3) AS 'Convert'
FROM Person.Person AS p
JOIN HumanResources.Employee AS e
ON p.BusinessEntityID = e.BusinessEntityID
GO
Jeter Convertir
David Hamiltion a été embauché le 2003-02-04 David Hamiltion a été embauché le 04/02/03

Un autre exemple de fonction de conversion est la fonction PARSE . Cette fonction convertit une chaîne en un type de données spécifié.

Dans la syntaxe de la fonction, vous spécifiez la chaîne à convertir, le mot-clé AS , puis le type de données requis. Vous pouvez également spécifier la culture dans laquelle la valeur de chaîne doit être formatée. Si vous ne le spécifiez pas, la langue de la session est utilisée.

Si la valeur de la chaîne ne peut pas être convertie en format numérique, date ou heure, cela entraînera une erreur. Vous devrez ensuite utiliser CAST ou CONVERT pour la conversion.

SELECT PARSE('Monday, 13 August 2012' AS datetime2 USING 'en-US') AS 'Date in English'
Date en anglais
2012-08-13 00: 00: 00.0000000