Maison base de données tutoriel mysql MySQL 中与NULL值有关的疑难问题_MySQL

MySQL 中与NULL值有关的疑难问题_MySQL

Jun 01, 2016 pm 01:57 PM
字符串 概念

      对于SQL的新手,NULL值的概念常常会造成混淆,他们常认为NULL是与空字符串''相同的事。情况并非如此。例如,下述语句是完全不同的:

mysql> INSERT INTO my_table (phone) VALUES (NULL);
mysql> INSERT INTO my_table (phone) VALUES ('');

这两条语句均会将值插入phone(电话)列,但第1条语句插入的是NULL值,第2条语句插入的是空字符串。第1种情况的含义可被解释为“电话号码未知”,而第2种情况的含义可被解释为“该人员没有电话,因此没有电话号码”。

为了进行NULL处理,可使用IS NULL和IS NOT NULL操作符以及IFNULL()函数。

在SQL中,NULL值与任何其它值的比较(即使是NULL)永远不会为“真”。包含NULL的表达式总是会导出NULL值,除非在关于操作符的文档中以及表达式的函数中作了其他规定。下述示例中的所有列均返回NULL:

mysql> SELECT NULL, 1+NULL, CONCAT('Invisible',NULL);

如果打算搜索列值为NULL的列,不能使用expr = NULL测试。下述语句不返回任何行,这是因为,对于任何表达式,expr = NULL永远不为“真”:

mysql> SELECT * FROM my_table WHERE phone = NULL;

要想查找NULL值,必须使用IS NULL测试。在下面的语句中,介绍了查找NULL电话号码和空电话号码的方式:

mysql> SELECT * FROM my_table WHERE phone IS NULL;
mysql> SELECT * FROM my_table WHERE phone = '';

更多信息和示例:

如果你正在使用MyISAM、InnoDB、BDB、或MEMORY存储引擎,能够在可能具有NULL值的列上增加1条索引。如不然,必须声明索引列为NOT NULL,而且不能将NULL插入到列中。

用LOAD DATA INFILE读取数据时,对于空的或丢失的列,将用''更新它们。如果希望在列中具有NULL值,应在数据文件中使用/N。在某些情况下,也可以使用文字性单词“NULL”。

使用DISTINCT、GROUP BY或ORDER BY时,所有NULL值将被视为等同的。

使用ORDER BY时,首先将显示NULL值,如果指定了DESC按降序排列,NULL值将最后显示。

对于聚合(累计)函数,如COUNT()、MIN()和SUM(),将忽略NULL值。对此的例外是COUNT(*),它将计数行而不是单独的列值。例如,下述语句产生两个计数。首先计数表中的行数,其次计数age列中的非NULL值数目:

mysql> SELECT COUNT(*), COUNT(age) FROM person;

对于某些列类型,MySQL将对NULL值进行特殊处理。如果将NULL插入TIMESTAMP列,将插入当前日期和时间。如果将NULL插入具有AUTO_INCREMENT属性的整数列,将插入序列中的下一个编号。

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Explication détaillée de la méthode de conversion du type int en chaîne en PHP Explication détaillée de la méthode de conversion du type int en chaîne en PHP Mar 26, 2024 am 11:45 AM

Explication détaillée de la méthode de conversion du type int en chaîne en PHP Dans le développement PHP, nous rencontrons souvent le besoin de convertir le type int en type chaîne. Cette conversion peut être réalisée de différentes manières. Cet article présentera en détail plusieurs méthodes courantes, avec des exemples de code spécifiques pour aider les lecteurs à mieux comprendre. 1. Utilisez la fonction intégrée strval() de PHP. PHP fournit une fonction intégrée strval() qui peut convertir des variables de différents types en types de chaîne. Lorsque nous devons convertir le type int en type chaîne,

Que signifie le concept de métaverse ? Que signifie le concept de métaverse ? Feb 22, 2024 pm 03:55 PM

Le Metaverse est un monde illusoire qui utilise la technologie pour cartographier et interagir avec le monde réel. Analyse 1 Metaverse [Metaverse] est un monde illusoire qui utilise pleinement les méthodes technologiques pour relier et créer, et cartographie et interagit avec le monde réel. C'est un espace vivant de données avec le dernier système de développement social. L’univers bidimensionnel est essentiellement une technologie virtuelle et un processus numérique du monde réel, qui nécessite de nombreuses transformations de la production de contenu, du système économique, de l’expérience client et du contenu du monde physique. 3 Cependant, la tendance au développement du métaverse est progressive. Il se forme finalement par la combinaison et l'évolution continue de nombreux outils et plates-formes avec le soutien d'une infrastructure, de normes et de protocoles partagés. Supplément : De quoi est composé le métaverse ? 1 Le métaverse est composé de Meta et de Verse, Meta est la transcendance et V

Comment vérifier si une chaîne commence par un caractère spécifique en Golang ? Comment vérifier si une chaîne commence par un caractère spécifique en Golang ? Mar 12, 2024 pm 09:42 PM

Comment vérifier si une chaîne commence par un caractère spécifique en Golang ? Lors de la programmation en Golang, vous rencontrez souvent des situations où vous devez vérifier si une chaîne commence par un caractère spécifique. Pour répondre à cette exigence, nous pouvons utiliser les fonctions fournies par le package strings dans Golang pour y parvenir. Ensuite, nous présenterons en détail comment utiliser Golang pour vérifier si une chaîne commence par un caractère spécifique, avec des exemples de code spécifiques. En Golang, nous pouvons utiliser HasPrefix du package strings

Comment déterminer si une chaîne Golang se termine par un caractère spécifié Comment déterminer si une chaîne Golang se termine par un caractère spécifié Mar 12, 2024 pm 04:48 PM

Titre : Comment déterminer si une chaîne se termine par un caractère spécifique en Golang. Dans le langage Go, nous devons parfois déterminer si une chaîne se termine par un caractère spécifique. Ceci est très courant lors du traitement de chaînes. Cet article explique comment utiliser le langage Go pour implémenter cette fonction et fournit des exemples de code pour votre référence. Voyons d’abord comment déterminer si une chaîne se termine par un caractère spécifié dans Golang. Les caractères d'une chaîne dans Golang peuvent être obtenus par indexation, et la longueur de la chaîne peut être

Comment répéter une chaîne dans le didacticiel de chaîne répétitive python_python Comment répéter une chaîne dans le didacticiel de chaîne répétitive python_python Apr 02, 2024 pm 03:58 PM

1. Ouvrez d’abord pycharm et accédez à la page d’accueil de pycharm. 2. Créez ensuite un nouveau script python, cliquez avec le bouton droit sur nouveau - cliquez sur fichier python. 3. Entrez une chaîne, code : s="-". 4. Ensuite, vous devez répéter les symboles de la chaîne 20 fois, code : s1=s*20 5. Entrez le code de sortie d'impression, code : print(s1). 6. Enfin, exécutez le script et vous verrez notre valeur de retour en bas : - répété 20 fois.

Comment résoudre le problème des caractères chinois tronqués lors de la conversion d'hexadécimaux en chaîne en PHP Comment résoudre le problème des caractères chinois tronqués lors de la conversion d'hexadécimaux en chaîne en PHP Mar 04, 2024 am 09:36 AM

Méthodes pour résoudre le problème des caractères chinois tronqués lors de la conversion de chaînes hexadécimales en PHP. Dans la programmation PHP, nous rencontrons parfois des situations où nous devons convertir des chaînes hexadécimales en caractères chinois normaux. Cependant, au cours du processus de conversion, vous rencontrerez parfois le problème des caractères chinois tronqués. Cet article vous fournira une méthode pour résoudre le problème des caractères chinois tronqués lors de la conversion de caractères hexadécimaux en chaîne en PHP, et donnera des exemples de code spécifiques. Utilisez la fonction hex2bin() pour la conversion hexadécimale. La fonction hex2bin() intégrée de PHP peut convertir 1.

Introduction et concepts de base d'Oracle RAC Introduction et concepts de base d'Oracle RAC Mar 07, 2024 am 11:39 AM

Introduction et concepts de base d'OracleRAC (RealApplicationClusters) À mesure que la quantité de données d'entreprise continue de croître et que la demande de haute disponibilité et de hautes performances devient de plus en plus importante, la technologie des clusters de bases de données devient de plus en plus importante. OracleRAC (RealApplicationClusters) est conçu pour résoudre ce problème. OracleRAC est une solution de base de données cluster haute disponibilité et hautes performances lancée par Oracle.

Conseils de correspondance de chaînes PHP : évitez les expressions incluses ambiguës Conseils de correspondance de chaînes PHP : évitez les expressions incluses ambiguës Feb 29, 2024 am 08:06 AM

Conseils pour la correspondance de chaînes PHP : évitez les expressions incluses ambiguës Dans le développement PHP, la correspondance de chaînes est une tâche courante, généralement utilisée pour rechercher un contenu de texte spécifique ou pour vérifier le format d'entrée. Cependant, nous devons parfois éviter d'utiliser des expressions d'inclusion ambiguës pour garantir l'exactitude de la correspondance. Cet article présentera quelques techniques pour éviter les expressions d'inclusion ambiguës lors de la correspondance de chaînes en PHP et fournira des exemples de code spécifiques. Utilisez la fonction preg_match() pour une correspondance exacte. En PHP, vous pouvez utiliser preg_mat

See all articles