La cloche.

Il y a ceux qui ont lu cette nouvelle devant vous.
Abonnez-vous pour recevoir des articles frais.
E-mail
Nom
Nom de famille
Comment voulez-vous lire la cloche
Sans spam

Salut.
Suite O. types primitifs données, ainsi examinées et aujourd'hui, nous allons parler de type null.

Le type NULL est un littéral dans lequel une seule valeur est d'être "null".
NULL - n'est pas égal à un lien vide, l'espace ou le type est incertain.

Il est utilisé lorsque vous utilisez la base de données (lors de la connexion de tableaux), utilisé pour déterminer la valeur manquante lorsque vous travaillez avec la base de données.
La valeur du type NULL peut être obtenue en attribuant la variable de cette valeur:
Variable \u003d null.

Les valeurs null sont formées à la suite de connexions lorsqu'un élément d'une table par condition n'est pas l'élément correspondant d'un autre. NULL VALEUR J'ai des fonctionnalités spécifiques:
- la comparaison des valeurs nulles avec un autre argument renvoie toujours un mensonge;

Pour déterminer la valeur de NULL utilise la conception Il y a null (est null).
Pour la fonction de conversion de type null Il n'y a null (isnull).

Afin de couper les champs contenant des valeurs nulelles, les structures suivantes sont utilisées à la suite de la requête: - n'est pas null - pas est null

Exemples

Exemple de valeur de vérification sur null

Sélectionnez un livre de référence. Nomenclature. Nom, livre de référence. Nomenclature. Approvisionnement, où livre de référence. Nomenclature. L'approvisionnement est null

Un exemple d'une fonction isnull ()
La valeur de retour de la fonction isnull (): la valeur du premier paramètre, si le premier paramètre ne contient pas la valeur NULL, sinon la valeur du deuxième paramètre. Le deuxième paramètre sera converti au type du premier paramètre si le type du premier paramètre est une chaîne ou un numéro.

// Obtenir le montant du numéro de champ. Au cas où il n'y a pas d'entrées, obtenez 0Choisissez HASNULL (somme (quantité), 0) comme un certain nombre de documents. Oakn. Structure

Cordialement programmeur 1C.
Laissez votre commentaire, je me demande votre opinion.

Null n'est rien d'autre que pas de valeur. Beaucoup confondent la valeur du numéro "0" du nombre, une référence vide à n'importe quel objet ou avec une chaîne vide. À cause de cette idée fausse, il y a beaucoup d'erreurs.

La valeur NULL apparaîtra si la demande est de faire appel à un champ non existant, de propriété ou à un lien BITS.

Basé sur SQL, qui ne permet pas de vérifier la valeur de NULL dans l'égalité conventionnelle. Voici deux méthodes pour vérifier NULL en 1C 8.3.

Fonction de la langue de requête 1C 8.3 isnull () a deux paramètres d'entrée:

  • expression vérifiable;
  • expression de remplacement.

Si la valeur vérifiée est NULL, cette fonction renvoie la valeur de l'expression de remplacement. Si la valeur est différente de NULL, l'expression vérifiable reviendra.

L'exemple est considéré ci-dessous. Il sélectionne toutes les positions de nomenclature de la partie de la table des marchandises du document "Arrivée des biens et des services". Avec l'aide de la connexion gauche, chaque nomenclature est affectée par le dernier prix à partir des informations des informations «Prix de la nomenclature».

Dans ce cas, une telle situation peut survenir que, pour toute position, ne peut tout simplement pas être le prix du registre. Dans ce cas, la fonction Isnull nous retournera le zéro familier. Si elle ne profite pas, alors lorsque vous essayez de produire des opérations arithmétiques sur le champ "prix" avec la valeur , nous aurons une erreur.

CHOISIR

Il y a nul (prix. Prix, 0) comme une mise à jour
DE




Il y a null dans l'opérateur de sélection

L'analogue de la fonction isnull () est "Il y a NULL", qui est utilisé dans l'opérateur de sélection et vérifie si NULL est. "Avoir" dans ce cas implique l'égalité et la demande de l'exemple précédent ressemblera à ceci:

CHOISIR
Produits. Namerenclature en tant que produit,
Choix
Quand les prix. Le prix est null
Puis 0
Sinon prix. Prix
Fin comme mer réelle
DE
Document. Pas de Dutchovyovarovyvug.Thovars comme des marchandises
La connexion gauche des inscriptions. PrixEnoclasture. Préventif comme prix
Produits. Namerenclature \u003d prix. Namerenclature

Marchandises. Link \u003d & LinkAncumpument

Les différences de la fonction isnull () de là sont nuls

Comme vous pouviez voir des exemples précédents, dans les deux cas, la demande renvoie les mêmes données. La fonction Isnull () est un choix réduit lorsque ... il y a null ... fin, mais il sera toujours préférable pour les raisons suivantes:

  1. La fonction de l'autre () optimise la demande. Il lit une fois, alors lors de la vérification d'une expression complexe, la demande fonctionnera plus rapidement.
  2. La fonction de l'autre () réduit la conception en raison de laquelle la demande devient plus lisible.
  3. Lors de l'exécution de l'autre fonction, l'expression de remplacement est donnée au type d'expression pour les types de types de chaîne (à la longueur de la chaîne) et numérique (au bit).

NUL - Valeurs manquantes.
Ne confondez pas avec une valeur zéro! NULL n'est pas un nombre qui n'est pas égal à l'espace, un lien vide, non défini.

NULL - VALEUR DE TYPE-FORMATION, I.E. Il y a un type nul et la seule signification de ce type.

Les valeurs null apparaissent dans la requête dans les situations suivantes:
a) une connexion externe à laquelle l'entrée correspondante a été trouvée dans une autre table (à gauche - dans la seconde, avec la droite - dans la première, avec toutes les deux)
b) Faites appel aux détails des éléments du groupe et inversement.
c) NULL dans la liste des champs d'échantillonnage (choisir)
d) Accès aux détails des liens de bits

Il y a nullutilisé dans l'opérateur à choisir (comment vérifier que la valeur est vide (il y a NULL)):
Code 1c v 8.x
Choix
Lorsque la valeur est , alors le résultat
Sinon, la valeur
FINIR

Un autre exemple:
Code 1C v 8.x Sélectionner

Choix lorsque RescoDCompanationStoretOakes. La nature de la base est null alors 0
Sinon, la comptabilité est l'usine
DE




Une fonction Il y aNull (signification, résultatnull) Renvoie la valeur de son premier paramètre, s'il n'est pas égal à NULL, et la valeur du deuxième paramètre est sinon
C'est un choix plié ... fin, butnull est préférable.
Code 1c v 8.x
CHOISIR
Il y aNull (livre de référence. Namerenclature. Arcticulus, "---") En tant qu'article,
Répertoire. Namenclature. Représentation en tant que nomenclature

Un autre exemple:
Code 1c v 8.x
CHOISIR
Mentorat d'annuaire. Nom,
Il y aNull (comptabilisant la comptabilité. Ressources de nationalité, 0) en tant que population
DE
Répertoire. Namerenclature comme guide
Connexion de gauche de l'enregistrement. Scientoreclature. Pattes telles que la comptabilité
Selon les magasins de comptabilité. NONENCLature \u003d Director Network. Lien

Directeur général. Lawgroup \u003d mensonge
DANS cet exemple Tous les éléments du répertoire de la nomenclature sont obtenus, après quoi, pour chaque nomenclature du registre de l'accumulation, des résidus de courant sont obtenus. Parce que Pour la nomenclature sur laquelle les restes manquent, la table virtuelle des résidus ne reviendra pas, puis à la suite de la connexion sur le terrain "SetTheresters à prix réduit. Les non-titres" seront des valeurs nulles pour la nomenclature qu'il y avait Pas de résidus. Pour au lieu de la valeur null à la suite de la requête, une valeur de 0 était présente, nous avons utilisé la fonction à Benull (), qui garantira le remplacement souhaité.

Nauline différent du choix pour les raisons suivantes:
a) quand est mieux lisible par la demande (plus facile)
b) Lorsqu'il y est ISNull, si une expression complexe est vérifiée, cela fonctionne plus rapidement car il est calculé une fois
c) Lorsqu'il y a une expression de remplacement donnée au type d'expression, s'il a un type de chaîne (longueur) ou un nombre (bit).

Il est impossible de vérifier les valeurs sur l'égalité ordinaire , car le SQL a une logique à trois chiffres - la vérité, les mensonges, NULL et le résultat d'une telle comparaison seront inconnus, ce qui sera similaire à un mensonge.
NUL<> 0, donc avec les connexions externes gauche de la SPR. Nomenclature avec tableaux de résidus, prix, contreparties avec des colonies mutuelles en l'absence de telles entrées, il sera nul, ce qui n'est pas égal à 0. La meilleure décision - Ça isnull

Lorsque vous travaillez avec la langue de requête, il y a parfois une situation lorsqu'il est tenu de remplacer la valeur de NULL à une autre valeur. La nécessité d'une telle opération peut se produire, par exemple, lors de la réception des résidus en stock pour toute la nomenclature. Cet article explique comment utiliser le fonctionnement de la langue de requête () pour résoudre ces tâches et d'autres options de solution sont prises en compte.

La fonction isnull

Dans la langue de requête, la fonction HASNULL (), dont le but est de remplacer l'expression à une autre expression si les expressions avaient null. Le diagramme de syntaxe de cette fonctionnalité ressemble à ceci:

Il y a nul (<Проверяемое выражение>, <Выражение замены>)

Cette fonctionnalité Renvoie la valeur du premier paramètre, au cas où il n'est pas nul, et la valeur de la deuxième expression, sinon.


CHOISIR
Il y aNull (comptabilisant la comptabilité. Ressources de nationalité, 0) en tant que population
DE



Dans cet exemple, tous les éléments du répertoire de la nomenclature sont obtenus, après quoi, pour chaque nomenclature du registre d'accumulation, des résidus de courant sont obtenus. Parce que Pour la nomenclature sur laquelle les restes manquent, la table virtuelle des résidus ne reviendra pas, puis à la suite de la connexion sur le terrain "SetTheresters à prix réduit. Les non-titres" seront des valeurs nulles pour la nomenclature qu'il y avait Pas de résidus. Pour au lieu de la valeur null à la suite de la requête, une valeur de 0 était présente, nous avons utilisé la fonction à Benull (), qui garantira le remplacement souhaité.

Utilisation d'une sélection d'opérations

Pour résoudre le précédent décrit, la tâche peut être utilisée par la demande de sélection de la langue de requête. Un exemple de la manière dont une demande ressemblera à celle précédente ressemblera à ceci:


CHOISIR
Mentorat d'annuaire. Nom,
Choix lorsque RescoDCompanationStoretOakes. La nature de la base est null alors 0
Sinon, la comptabilité est l'usine
DE
Répertoire. Namerenclature comme guide
Connexion de gauche de l'enregistrement. Scientoreclature. Pattes telles que la comptabilité
Selon les magasins de comptabilité. NONENCLature \u003d Director Network. Lien

Directeur général. Lawgroup \u003d mensonge

Résultat cette demande Il sera identique au résultat de la requête donnée dans la section précédente.

L'utilisation de la fonction ISNULL () utilise de préférence la sélection des opérations pour les raisons suivantes: l'enregistrement à l'aide de NUTNULL () est un peu compact, ce qui augmente la lisibilité de la demande. De plus, dans le cas où l'expression est une fonction complexe, y compris la fonction d'agrégat, le calcul de la fonction isnull () peut être plus rapide que l'analogue enregistré à l'aide de la fonction de choix.

Caractéristiques de la fonction isnull

La fonction isnull () Bien qu'il s'agisse d'un analogue de l'opération à choisir avec une valeur valide pour NULL, cependant, a la différence. La différence est que si la fonction d'expression a une chaîne ou un type numérique, l'expression de remplacement sera convertie au type d'expression.

Par exemple, dans le cas où l'expression numérisée a un type de chaîne (5) et le type d'expression de remplacement (10), le type de résultat sera converti en type ligne (5). En conséquence, lorsque la fonction renvoie une expression de remplacement, la valeur sera coupée jusqu'à cinq caractères.

Avec des expressions numériques, la situation est similaire: la valeur de l'expression sera transformée au type de vérifiable, c'est-à-dire L'expression de remplacement peut être recadrée. Si la valeur ne peut pas être convertie, la langue de requête complétera l'exécution de la demande d'erreur. Par exemple, une erreur finira par essayer de convertir le numéro 1000 au type numéro (2).

La cloche.

Il y a ceux qui ont lu cette nouvelle devant vous.
Abonnez-vous pour recevoir des articles frais.
E-mail
Nom
Nom de famille
Comment voulez-vous lire la cloche
Sans spam