SQL TO_CHAR

SQL TO_CHAR
La fonction TO_CHAR () dans SQL vous permet de convertir une valeur en une chaîne. Cette fonction est disponible dans les bases de données Oracle.

Laissez-nous discuter de la façon dont vous pouvez utiliser la fonction Oracle To_Char () et les alternatives disponibles dans d'autres moteurs de base de données.

Fonction Oracle TO_CHAR ()

La fonction TO_CHAR () vous permet de convertir un nombre ou un objet DateTime en une chaîne dans les bases de données Oracle.

Les syntaxes disponibles sont comme indiqué ci-dessous:

to_char_number :: =
to_char_date :: =

La fonction prendra un nombre dans la première syntaxe et la convertira en type varchar2. Le numéro spécifié dans ce cas peut être le numéro de type, binary_float ou binary_double.

Nous pouvons illustrer un exemple comme indiqué ci-dessous:

SÉLECTIONNER
To_char (1000, '99999.9 ')
DEPUIS
double;

L'exemple ci-dessus convertira le numéro 1000 en une chaîne spécifiée dans le FMT. Vous pouvez vérifier les modèles de formatage Oracle pour en savoir plus.

Le code ci-dessus doit renvoyer la sortie comme:

Vous pouvez également convertir un nombre en une chaîne avec des zéros comme indiqué dans l'exemple ci-dessous:

SÉLECTIONNER
To_char (1000, '0000000')
DEPUIS
double;

Ce qui précède doit revenir:

To_char - datetime

La deuxième utilisation de la fonction TO_CHAR dans Oracle consiste à convertir une DateTime en une chaîne. La fonction prend l'objet DateTime de la date de type, l'horodatage, l'horodatage avec le fuseau horaire, etc.

La fonction convertira ensuite la valeur spécifiée en un type varchar2.

Nous pouvons illustrer un exemple d'utilisation comme indiqué ci-dessous:

SÉLECTIONNER
To_char (sysdate, 'yyy_mm_dd')
DEPUIS
double;

L'exemple ci-dessus doit convertir la valeur de la fonction sysdate en une chaîne suivant le format spécifié de yyyy-mm-dd.

La sortie est comme indiqué ci-dessous:

Vous pouvez spécifier d'autres options de formatage comme indiqué dans la ressource ci-dessous.

https: // docs.oracle.com / cd / b19306_01 / serveur.102 / B14200 / SQL_Elements004.HTM # i34510

Par exemple, pour convertir la valeur ci-dessus en format de date à long terme, nous pouvons fonctionner:

SÉLECTIONNER
To_char (sysdate, 'dl')
DEPUIS
double;

Le code ci-dessus doit retourner:

Fonction Cast SQL

Vous remarquerez que d'autres moteurs de base de données ne fournissent pas la fonction TO_CHAR. Cependant, nous pouvons utiliser le cast () à partir de SQL standard pour convertir une valeur en une chaîne.

La syntaxe de fonction est comme indiqué:

Cast (Expression as String [format_clause [au horaire horairezone_expr]]))

La fonction de fonte vous permettra alors de convertir une valeur en un type de chaîne. Ainsi, par exemple, pour convertir un nombre en une chaîne, nous pouvons faire:

Sélectionnez Cast (100 en tant que varchar);

Le code ci-dessus doit convertir l'entier en varchar comme indiqué:

varchar
---------
100
(1 ligne)

Si le spécifié ne peut pas être converti en type cible, la fonction renvoie une erreur.

Un exemple est comme indiqué:

Sélectionnez Cast ('Salut!«Comme entier);

Dans l'exemple ci-dessus, nous essayons de convertir la chaîne HI en un entier. Malheureusement, cela entraînera une erreur comme indiqué ci-dessous:

Erreur: syntaxe d'entrée non valide pour Tapez entier: «Salut!"

NOTE: Le message d'erreur peut différer en fonction de votre moteur de base de données cible.

Vous pouvez également utiliser la fonction CAST pour convertir un objet DateTime en une chaîne. Considérez l'exemple illustré ci-dessous:

Sélectionnez Cast (maintenant () comme VARCHAR);

La requête ci-dessus doit revenir:

maintenant
------------------------------
2022-04-05 01:31:26.62212 + 03
(1 ligne)

Comme vous pouvez le voir, la fonction coulée convertit la valeur de la fonction maintenant () en une chaîne.

Conclusion

Pour cet article, vous avez appris à utiliser la fonction TO_CHAR () pour convertir un nombre ou une datetime en une chaîne en utilisant le moteur de la base de données Oracle. Nous avons également couvert comment passer d'un type à un autre en utilisant la fonction Cast () dans SQL standard.

Merci pour la lecture!!