Maison > base de données > tutoriel mysql > Oracle traite-t-il les chaînes vides comme NULL ?

Oracle traite-t-il les chaînes vides comme NULL ?

Barbara Streisand
Libérer: 2025-01-22 04:52:12
original
305 Les gens l'ont consulté

Does Oracle Treat Empty Strings as NULL?

Gestion unique des chaînes vides par Oracle : NULL ou non-NULL ?

La pratique d'Oracle 9i consistant à assimiler la chaîne vide ('' ) à NULL a prêté à confusion pour de nombreux développeurs. Pourquoi un type de données conçu pour stocker des caractères équivaudrait-il à une chaîne valide à des données manquantes ?

Pour comprendre cette particularité, il faut se plonger dans l'histoire d'Oracle. Avant l'avènement du standard SQL, Oracle définissait les colonnes VARCHAR/VARCHAR2 pour traiter les chaînes vides comme des valeurs NULL. Cette conception découle de l'interprétation unique d'Oracle de NULL, qui couvre toutes les formes de données manquantes.

Lorsque le standard SQL est apparu et a établi la différence entre NULL et la chaîne vide, Oracle a été confronté à un dilemme. Changer le comportement d'une colonne VARCHAR existante brisera l'ancien code et la violation de la norme s'écartera des pratiques de l'industrie. Afin de minimiser les perturbations, Oracle a pris la décision controversée de conserver la définition originale.

Oracle reconnaît que cette pratique s'écarte de la norme, mais laisse place à d'éventuels changements futurs pour s'aligner sur la norme. Par conséquent, les développeurs feraient bien de préférer VARCHAR2 à VARCHAR pour une compatibilité future de leur code. Il y a eu beaucoup de spéculations sur la raison pour laquelle Oracle maintient ce comportement inhabituel, mais la raison reste un mystère officiel, peut-être enraciné dans la nécessité de maintenir une compatibilité ascendante dans un paysage de normes en constante évolution.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal