Acasă - Televizor inteligent
1c unde egal cu valoare sau nul. Folosind funcția isnull()

27.06.2017

NULL, ISNULL() și IS NULL în interogările 1C

Ce este NULL

NULîn rezultatul interogării, înseamnă că nu există nicio valoare (nu este o valoare goală, nu este nulă, nu este o referință nulă).
De exemplu, ca urmare a conectării tabelelor de interogări, o valoare nu a fost găsită într-unul dintre tabele la conectarea folosind câmpurile de conexiune. Sau cererea se referă la un atribut (proprietate) inexistent.

NULL nu este același lucru cu NULL!

Dacă într-o cerere 1C doriți să impuneți o selecție (condiție) cu o verificare pentru NULL, atunci o construcție precum „WHERE VT.Field1 = NULL” va reveni întotdeauna MINCIUNĂ! Pentru a verifica, ar trebui să utilizați un operator special

EXISTA NULL în cererea 1C

Pentru a verifica o valoare (sau pentru a lucra cu valori) pentru NULL, trebuie să utilizați următoarea construcție „WHERE VT.Field1 IS NULL” Sau un alt exemplu, utilizați într-o construcție ALEGERE„SELECTION | WHEN VT.Field1 IS NULL | THEN” Este demn de remarcat faptul că funcția de verificare a unui câmp pentru NULL este una dintre cele mai consumatoare de resurse în interogările 1C. Prin urmare, dacă doriți să îl utilizați într-o stare de solicitare, luați în considerare dacă este posibil să înlocuiți o astfel de verificare îmbinare interioară(un tip de unire în interogări în care rămân în selecție doar înregistrările prezente în ambele tabele).

Funcția ISNULL() în cererea 1C

Funcţie ISNULL() vă permite să înlocuiți o valoare lipsă dintr-un câmp de solicitare cu o valoare specificată (valoare standard, stub).
De exemplu, dacă nu există informații despre costul unui produs, atunci îl indicăm egal cu 0 (zero) „SELECT | ISNULL(T.Price, 0) AS Price | FROM Remaining Goods AS T”

Concluzie

Scrieți interogările corect și optim. Pentru că o cerere proastă înseamnă frâne și cod de rahat)

Buna ziua.
Continuând cu tipurile de date primitive, ne-am uitat recent la ele și astăzi vom vorbi despre tastați NULL.

Tipul NULL este un literal care poate conține o singură valoare, valoarea „NULL”.
NULL — Nu este egal cu o referință nulă, spațiu sau tip nedefinit.

Folosit atunci când lucrați cu o bază de date (la unirea tabelelor), folosit pentru a determina o valoare lipsă atunci când lucrați cu o bază de date.
O valoare NULL poate fi obținută prin atribuirea acestei valori unei variabile:
Variabila =NULL.

Valorile de tip NULL sunt formate ca urmare a îmbinărilor atunci când un element dintr-un tabel nu are un element corespunzător din altul. O valoare de tip NULL are caracteristici specifice:
- compararea unei valori NULL cu orice alt argument returnează întotdeauna false;

Pentru a determina valoarea NULL, utilizați constructul IS NULL (este NULL).
Pentru a converti tipul NULL, utilizați funcția ISNULL (este NULL).

Pentru a tăia câmpurile care conțin valori NULL ca urmare a unei solicitări, se folosesc următoarele construcții: - nu este NULL - nu este NULL

Exemple

Exemplu de verificare a unei valori pentru NULL

SELECT Director. Nomenclatură. Nume, director. Nomenclatură. Preț de achiziție UNDERE Director. Nomenclatură. Preț de achiziție Da NULL

Exemplu de funcție ISNULL().
Valoarea returnată a funcției ISNULL(): valoarea primului parametru, dacă primul parametru nu conține o valoare NULL, în caz contrar valoarea celui de-al doilea parametru. Al doilea parametru va fi convertit în tipul primului parametru în cazul în care tipul primului parametru este un șir sau un număr.

// Obțineți suma după câmpul de cantitate. Dacă nu există înregistrări, obțineți 0 SELECTAȚI ISNULL(SUMA(Cantitate), 0 ) AS CANTITATE FROM Document. Cheltuieli Inc. Compus

Cu stimă, programator 1C.
Lasă-ți comentariile, mă interesează părerea ta.

Limbajul de interogare 1C este una dintre principalele diferențe dintre versiunile 7.7 și 8. Unul dintre cele mai importante puncte în învățarea programării 1C este limbajul de interogare. În 1C 8.3, interogările sunt cel mai puternic și eficient instrument pentru obținerea datelor. Limbajul de interogare vă permite să obțineți informații din baza de date într-un mod convenabil.

Sintaxa în sine amintește foarte mult de T-SQL clasic, cu excepția faptului că în 1C, folosind limbajul de interogare, puteți primi date doar folosind constructul Select. Limbajul acceptă, de asemenea, constructe mai complexe, de exemplu, (cerere în cadrul unei cereri). Interogările în 1C 8 pot fi scrise atât în ​​chirilic, cât și în latină.

În acest articol voi încerca să vorbesc despre principalele cuvinte cheie în limbajul de interogare 1C:

  • alege
  • permis
  • variat
  • expres
  • primul
  • pentru schimbare
  • sens
  • tipul valorii (și operatorul REFERENCE)
  • alegere
  • a se grupa cu
  • având
  • ISNULL
  • Da NULL
  • conexiuni - dreapta, stânga, interne, pline.

Precum și câteva mici trucuri ale limbajului 1C, folosindu-te de care poți construi în mod optim textul de solicitare.

Pentru a depana interogările în sistemul 1C 8.2, este furnizat un instrument special - consola de interogări. Puteți vedea descrierea și o puteți descărca folosind link-ul -.

Să ne uităm la cei mai importanți și interesanți operatori ai limbajului de interogare 1C.

SELECTAȚI

În limbajul de interogare 1C Enterprise 8, orice interogare începe cu un cuvânt cheie ALEGE. În limbajul 1C nu există constructe UPDATE, DELETE, CREATE TABLE, INSERT; aceste manipulări sunt efectuate în tehnologia obiectelor. Scopul său este de a citi numai datele.

De exemplu:

ALEGE
Director curent.Nume
DIN
Director.Nomenclatură AS Director curent

Interogarea va returna un tabel cu nume de elemente.

Aproape de structura ALEGE puteți găsi cuvinte cheie PENTRU SCHIMBARE, PERMIS, VARIAT, PRIMUL

PERMIS— selectează numai înregistrările din tabel la care utilizatorul curent are drepturi.

VARIAT— înseamnă că rezultatul nu va conține linii duplicate.

SELECTARE (CAZ)

Foarte des, acest design este subestimat de programatori. Un exemplu de utilizare a acestuia:

Director curent.Nume,

CÂND Directorul curent.Serviciul ATUNCI

"Serviciu"

SFÂRȘIT CUM SE VEZI Nomenclatura

Director.Nomenclatură AS Director curent

Exemplul va returna o valoare text în câmpul „Tip articol” - „Produs” sau „Serviciu”.

UNDE

Designul limbajului de interogare 1C, care vă permite să impuneți selecția datelor primite. Vă rugăm să rețineți că sistemul primește toate datele de la server și numai atunci este selectat pe baza acestui parametru.

ALEGE
Director.Nume
DIN
Director curent.Nomenclatură AS Director curent
WHERE CurrentDirectory.Service = TRUE

În exemplu, selectăm înregistrări pentru care valoarea atributului „Service” este setată la „True”. În acest exemplu, ne-am descurca cu următoarea condiție:

„UNDE ESTE SERVICIUL”

În esență, selectăm rânduri în care expresia de după cuvântul cheie este egală cu „Adevărat”.

Puteți folosi condiții directe în expresii:

Cod WHERE = "005215"

Folosind operatorul „VALUE()” în condiții, utilizați accesul la elemente și enumerari predefinite într-o solicitare 1C:

WHERE Tipul articolului = Valoare(Enumeration.Item Types.Product)

Valorile de timp pot fi specificate după cum urmează:

WHERE Data primirii > DATETIME(2012,01,01):

Cel mai adesea, condițiile sunt specificate ca parametri trecuți la cerere:

Obțineți 267 de lecții video pe 1C gratuit:

WHERE NomenclatureGroup= &NomenclatureGroup

O condiție poate fi impusă tipului de atribut dacă este de tip compus:

Dacă trebuie să limitați selecția dintr-o listă de valori sau dintr-o matrice, puteți face următoarele:

UNDE este Registrul de acumulare. Registrator B (&Lista documentelor pentru selecție)

Condiția poate fi, de asemenea, complexă, constând din mai multe condiții:

WHERE Data primirii > DATETIME(2012,01,01) AND NomenclatureGroup= &NomenclatureGroup AND NOT Service

A SE GRUPA CU

Proiectarea limbajului de interogare 1C 8.2 utilizat pentru gruparea rezultatului.

De exemplu:

ALEGE
Recepție de bunuri și servicii Bunuri. Bunuri,
SUM(Recepția BunurilorServiciiMarfurilor.Cantitate) AS Cantitate,
SUM(Recepția BunurilorServiciiMarfurilor.Suma) AS Sumă
DIN
Document.Recepția de Bunuri și Servicii.Bunuri CUM Primirea de Bunuri și Servicii Bunuri

A SE GRUPA CU
Primirea mărfurilorServiciiBunuri.Marfuri

Această solicitare va rezuma toate încasările după sumă și cantitate pe articol.

Pe lângă cuvântul cheie SUMĂ Puteți utiliza alte funcții agregate: CANTITATE, NUMĂR DE DIFERITE, MAXIM, MINIM, IN MEDIE.

AVÂND

Un design care este adesea uitat, dar este foarte important și util. Vă permite să specificați selecția sub forma unei funcții agregate, acest lucru nu se poate face în proiectare UNDE.

Exemplu de utilizare a HAVING într-o solicitare 1C:

ALEGE
Recepție de bunuri și servicii Bunuri. Bunuri,
SUM(Recepția BunurilorServiciiMarfurilor.Cantitate) AS Cantitate,
SUM(Recepția BunurilorServiciiMarfurilor.Suma) AS Sumă
DIN
Document.Recepția de Bunuri și Servicii.Bunuri CUM Primirea de Bunuri și Servicii Bunuri

A SE GRUPA CU
Primirea Bunurilor si Serviciilor Bunuri.marfuri

SUM(Recepția mărfurilorServiciiMarfurilor.Cantitate) > 5

Deci vom selecta numărul de produse care au sosit mai mult de 5 bucăți.

SENS()

De exemplu:

WHERE Bank = Valoare(Directory.Banks.EmptyLink)

WHERE Tip de nomenclatură = Valoare(Directory.Tipuri de nomenclatură.Produs)

WHERE Tip element = Valoare (Enumeration.Item Types.Service)

TYPE la cerere

Tipul de date poate fi verificat folosind funcțiile TYPE() și VALUETYPE() sau folosind operatorul logic REFERENCE.

EXPRES()

Operatorul Express în interogările 1C este utilizat pentru a converti tipurile de date.

Sintaxă: EXPRES(<Выражение>CUM<Тип значения>)

Folosind-o, puteți converti valorile șirurilor în date sau valorile de referință în date șirurile și așa mai departe.

În aplicațiile practice, operatorul Express() este folosit foarte des pentru a converti câmpuri de lungime nelimitată, deoarece câmpurile de lungime nelimitată nu pot fi selectate, grupate etc. Dacă astfel de câmpuri nu sunt convertite, veți primi o eroare Nu puteți compara câmpuri de lungime nelimitată și câmpuri de tipuri incompatibile.

ALEGE
ContactInformation.Object,
EXPRESS(ContactInfo.View AS ROW(150)) AS View
DIN
Registrul de informații Informații de contact CUM Informații de contact

A SE GRUPA CU
EXPRESS(ContactInfo.Representation AS ROW(150)),
ContactInformation.Object

ISNULL (ISNULL)

O funcție destul de utilă a limbajului de interogare 1C care verifică valoarea din înregistrare și dacă este egală NUL, Acest lucru vă permite să îl înlocuiți cu propria dvs. valoare. Cel mai adesea folosit la obținerea tabelelor virtuale de solduri și cifre de afaceri pentru a se ascunde NULși pune un 0 clar (zero).

ISNULL(Impozite înainte de lună. Beneficiu FSS aplicat, 0)

O astfel de funcție a limbajului de interogare 1C ISNULL va returna zero dacă nu există nicio valoare, ceea ce va evita o eroare.

A TE ALATURA

Există 4 tipuri de conexiuni: STÂNGA, DREAPTA, COMPLET, INTERN.

CONEXIUNEA STÂNGA și DREAPTA

Îmbinările sunt folosite pentru a lega două tabele pe baza unei anumite condiții. Caracteristică când LEFT JOIN este că luăm primul tabel specificat în întregime și legăm condiționat al doilea tabel. Câmpurile celui de-al doilea tabel care nu au putut fi legate de condiție sunt completate cu valoarea NUL.

Un exemplu de alăturare stângă într-o solicitare 1C:

Va returna întregul tabel și va completa câmpul „Bancă” numai în acele locuri în care este îndeplinită condiția „Contrapărți.Nume = Bănci.Nume”. Dacă condiția nu este îndeplinită, câmpul Bank va fi setat la NUL.

RIGHT JOIN în limba 1C 8.3 absolut asemănătoare Conexiune LEFT, cu excepția unei diferențe: în DREPTUL DE CONECTARE Masa „principală” este a doua, nu prima.

CONEXIUNE COMPLETA

CONEXIUNE COMPLETA diferă de stânga și dreapta prin faptul că afișează toate înregistrările din două tabele și le conectează numai pe cele pe care le poate conecta în funcție de condiție.

De exemplu:

CONEXIUNE COMPLETA
Director.Bănci CUM Bănci

DE

Limbajul de interogare va returna ambele tabele complet numai dacă este îndeplinită condiția Join records. Spre deosebire de o îmbinare stânga/dreapta, este posibil ca NULL să apară în două câmpuri.

INNER JOIN

INNER JOIN diferă de cel complet prin faptul că afișează numai acele înregistrări care ar putea fi conectate în funcție de o anumită condiție.

De exemplu:

DIN
Director.Contrapărți AS Clienți

INNER JOIN
Director.Bănci CUM Bănci

DE
Clients.Name = Banks.Name

Această interogare va returna numai rândurile în care banca și contrapartea au același nume.

Concluzie

Aceasta este doar o mică parte din sintaxa din limbajul de interogare 1C 8; în viitor voi încerca să iau în considerare câteva puncte mai detaliat, să arătam și multe altele!

NUL- valori lipsă.
A nu se confunda cu valoarea zero! NULL nu este un număr, nu este egal cu un spațiu, o referință goală sau nedefinit.

NULL este o valoare de formare a tipului, adică există un tip NULL și o singură valoare de acest tip.

Valorile NULL apar în interogare în următoarele situații:
a) O îmbinare externă în care nu s-a găsit nicio înregistrare corespunzătoare într-un alt tabel (cu una din stânga - în al doilea tabel, cu una din dreapta - în primul, cu una plină - în ambele)
b) Accesarea detaliilor elementelor pentru un grup și invers.
c) NULL în lista câmpurilor de selecție (SELECT)
d) Accesarea detaliilor pentru un link întrerupt

ESTE NUL utilizat în operatorul SELECT (ca și cum ar fi verificat dacă valoarea este goală (Value IS NULL)):
Cod 1C v 8.x
ALEGERE
WHEN Value IS NULL THEN ResultIfNULL
ELSE Sens
Sfârşit

alt exemplu:
Cod 1C v 8.x SELECT

ALEGEREA CÂND Elementele de contabilitate rămase.Cantitatea rămasă ESTE NULĂ ȘI 0
Altfel Contabilizarea nomenclaturii rămase Cantitatea rămasă AS Cantitatea rămasă
DIN



UNDE

Funcţie ISNULL(valoare, ResultIfNULL) returnează valoarea primului său parametru dacă nu este NULL și valoarea celui de-al doilea parametru în caz contrar
Este restrâns SELECT...END, dar este preferat ISNULL.
Cod 1C v 8.x
ALEGE
ISNULL(Directory.Nomenclature.Article, "---") AS Articolul,
Director.Nomenclatura.Prezentarea AS Nomenclatura

alt exemplu:
Cod 1C v 8.x
ALEGE
Director de nomenclatură. Nume,
ISNULL(AccountingItemRemaining.QuantityRemaining, 0) AS CantitateRemaining
DIN
Director.Nomenclatură AS DirectoryNomenclatures
CONEXIUNEA STÂNGA Registrul de acumulări Contabilitatea articolelor Solduri AS Solduri contabile a articolelor
Element software AccountingRemains.Nomenclature = Nomenclatură Directory.Link
UNDE
Nomenclatura Directory.ThisGroup = FALSE
În acest exemplu se obțin toate elementele directorului de articole, după care, pentru fiecare articol, se obțin soldurile curente din registrul de acumulare. Deoarece pentru un articol pentru care nu există solduri, tabelul virtual de solduri nu va returna o înregistrare, apoi ca urmare a conexiunii în câmpul „Item AccountingRemaining.QuantityRemaining” vor exista valori NULL pentru articolul pentru care există nu erau solduri. Pentru a ne asigura că în locul valorii NULL, rezultatul solicitării conține valoarea 0, am folosit funcția ISNULL(), care va efectua înlocuirea dorită.

ISNULL diferă de CHOICE din următoarele motive:
a) Dacă ISNULL, interogarea este mai ușor de citit (mai simplă)
b) Dacă ISNULL, dacă este bifată o expresie complexă, aceasta funcționează mai rapid deoarece este calculată o dată
c) Dacă ISNULL, expresia de înlocuire este convertită la tipul expresiei testate dacă este de tip String (lungime) sau Number (adâncime de biți).

Nu puteți verifica valorile pentru NULL folosind egalitatea obișnuită, deoarece SQL utilizează logica cu trei valori - Adevărat, Fals, NULL, iar rezultatul unei astfel de comparații va fi NECUNOSCUT, care în 1C 8.0 este similar cu FALSE.
NUL<>0, deci pentru îmbinările exterioare din stânga, consultați. Nomenclator cu tabele de solduri, preturi, Contrapartide cu decontari reciproce, in lipsa unor astfel de inregistrari va exista NULL, care nu este egal cu 0. Cea mai buna solutie este ISNULL

Atenţie! Aceasta este o versiune introductivă a lecției, ale cărei materiale pot fi incomplete.

Conectați-vă la site ca student

Conectați-vă ca student pentru a accesa materialele școlare

Limbajul de interogare 1C 8.3 pentru programatori începători: funcții și operatori pentru lucrul cu tipuri (VALUE TYPE, TYPE, REFERENCE, ISNULL, EXPRESS)

Să ne amintim că fiecare atribut (proprietate, câmp) al unui director, document sau orice alt obiect aplicație are propriul său tip. Și ne putem uita la acest tip în configurator:

În limbajul de interogare, există o întreagă clasă de funcții și operatori pentru lucrul cu tipuri de detalii. Să ne uităm la ele.

Funcția VALUE TYPE

Această funcție preia un parametru (valoare) și returnează tipul acestuia. Pentru recuzita descrisă în imagine (mai sus) Gust director Alimente vor fi returnate următoarele:

Acum să ne uităm la recuzită Trăsătură distinctivă la director Orase:

Vedeți că această recuzită poate fi una din mai multe tipuri: Linia, Director.Gusturi, Director.Culori. Acest tip de detalii se numește COMPOSIT.

Dacă încercăm să completăm valoarea unui astfel de detaliu în modul 1C:Enterprise, sistemul ne va întreba ce tip de valoare va fi introdusă:

Și numai după selecția noastră ne va permite să introducem valoarea tipului selectat.

Astfel, elemente de director de același tip ( Director.Orase) va putea stoca în același atribut ( Trăsătură distinctivă) valori de diferite tipuri (String, Culori sau Arome).

Puteți vedea acest lucru singur făcând clic pe elementele directorului Oraseîn 1C:mod Enterprise. Citiți o versiune de probă a lecției, sunt disponibile lecții complete.

Aici valoarea caracteristică distinctivă este un element de director Arome:

Iată linia:

Și aici este, în general, un element al cărții de referință Culori:

Acestea sunt posibilitățile pe care ni le deschide un tip de date compus!

Mă întreb cum se va comporta funcția VALORI DE TIP pe recuzită Element distinctiv, având un tip de date compus:

Acest lucru este deja foarte interesant. Să ne uităm la fiecare linie individual.

Tipul de valoare a trăsăturii distinctive pentru elementul este egal cu Rusia NUL. Este prima dată când întâlnim acest tip. Valorile de acest tip sunt folosite numai pentru a determina valoarea lipsă atunci când lucrați cu baza de date.

Acest lucru este adevărat, deoarece elementul Rusia este un grup și nu un element de director obișnuit Orase, deci nu are câmp Trăsătură distinctivă. Iar tipul unei valori lipsă, după cum citim mai sus, este întotdeauna egal cu NUL.

Tipul de valoare a caracteristicii distinctive pentru Perm este egal cu Arome. Acest lucru este adevărat, deoarece valoarea caracteristicii distinctive introduse în baza de date pentru orașul Perm este o legătură către elementul director Arome.

Pentru Krasnoyarsk, tipul de atribut este egal cu Culori, deoarece valoarea selectată în baza de date este o legătură către un element de director Culori.

Pentru Voronezh, tipul de atribut este egal cu Linia, deoarece valoarea introdusă în baza de date este un șir obișnuit.

India este din nou un grup, deci nu are nicio semnificație. Și tipul valorii lipsă, după cum ne amintim, este egal cu NUL.

Iată chestia. Dacă mergeți la elementul director Orase cu nume Sao Paulo, atunci vei vedea că câmpul Trăsătură distinctivă deloc completat. E gol. A toate câmpurile goale de tip compus au o semnificație specială NEDEFINIT .

CU NEDEFINIT ne întâlnim și noi pentru prima dată. Sens NEDEFINIT folosit atunci când este necesar să se utilizeze o valoare goală care nu aparține niciunui alt tip. Aceasta este exact situația noastră. Și tipul valorii NEDEFINIT, după cum probabil ați ghicit deja, este egal cu NUL.

Funcție TIP

Este nevoie de un singur parametru - numele tipului primitiv ( LINIA, NUMĂR, DATA, BOOLEAN), sau numele tabelului al cărui tip de link doriți să obțineți.

Rezultatul acestui construct va fi o valoare de tip Type pentru tipul specificat.

Sună vag, nu-i așa?

Să ne uităm la aplicarea acestui design și totul va cădea imediat la loc.

Să presupunem că trebuie să selectăm toate intrările din director Orase, care au recuzită compozită Trăsătură distinctivă are o valoare de tip LINIA:

Acum să selectăm toate înregistrările care au valori de atribut Trăsătură distinctivă sunt legături către elemente de director Culori(masa Director.Culori):

Retragere

După cum vă amintiți, câteva elemente ale directorului Orase nu au recuzită Trăsătură distinctivă. Funcţie VALORI DE TIP pentru astfel de elemente pe care le produce NUL.

Cum puteți selecta astfel de elemente într-o interogare? Pentru aceasta este prevăzut un operator logic special ESTE NUL(a nu se confunda cu funcția ISNULL, pe care ne vom uita mai jos). Citiți o versiune de probă a lecției, sunt disponibile lecții complete.

Iată un exemplu de utilizare a acestuia:

Grozav. Dar ați observat că nu există niciun element din Sao Paulo, tipul valorii de recuzită Trăsătură distinctivă pe care l-a dat și el NUL. De ce s-a întâmplat?

Dar chestia este că situația pentru grupuri (Rusia, India, Brazilia), pentru care completarea detaliilor Trăsătură distinctivă imposibil în principiu, deoarece nu o au deloc, diferă de situația pentru elementul Sao Paulo, pentru care este posibilă completarea recuzitei, dar pur și simplu nu este completată și este egală, după cum ne amintim, cu o valoare deosebită NEDEFINIT.

Pentru a selecta toate înregistrările care au cerințele Trăsătură distinctivă prezent, dar nu umplut, ar trebui folosită o construcție diferită:

Dar compararea cu UNDEFINED pentru a determina atributele goale (necompletate) va funcționa numai pentru tipurile compuse.

Apropo, operatorul logic IS NULL are o formă de negație care arată astfel:

Operator logic LINK

De exemplu, să selectăm din director Orase numai acele înregistrări care au valoarea unui atribut compus Trăsătură distinctivă sunt un link către un element de director Arome:

După cum vă amintiți, am putea rezolva aceeași problemă folosind VALORI DE TIPȘi TIP:

Funcția ISNULL

Funcția este concepută pentru a înlocui o valoare NUL la un alt sens.

Ne amintim că sensul NUL returnat dacă atributul solicitat (câmp, proprietate) nu există.

De exemplu, recuzită Trăsătură distinctivă pentru grupuri de directoare Orase:

Funcţie ISNULL ne va ajuta să scoatem o valoare diferită dacă această valoare este egală cu NUL. Citiți o versiune de probă a lecției, sunt disponibile lecții complete. Să fie în acest caz linia „Nu există o astfel de recuzită!”:

Se pare că dacă primul parametru al funcției ISNULL nu este egal NUL, apoi se întoarce. Dacă este NULL, atunci este returnat al doilea parametru.

Funcția EXPRESS

Această funcție este numai pentru câmpurile care au un tip compus. Un exemplu excelent al unui astfel de domeniu este proprietatea Trăsătură distinctivă pentru elementele directorului Orase.

După cum ne amintim, câmpurile compuse pot fi unul dintre mai multe tipuri specificate în configurator.

Pentru câmp Trăsătură distinctivă astfel de tipuri valide sunt LINIA, Director.CuloriȘi Director.Gusturi.

Uneori devine necesar să turnați valorile unui câmp compus la un anumit tip.

Să enumerăm toate valorile câmpului Trăsătură distinctivă a tasta Referință.Culori:

Ca rezultat, toate valorile elementelor care au fost de tip Director.Culori, au rămas umplute și au fost convertite la tipul specificat. Toate valorile de alte tipuri ( LINIA, Director.Gusturi) sunt acum egale NUL. Aceasta este particularitatea turnării tipului folosind funcția EXPRES.

Puteți arunca un tip fie într-un tip primitiv ( BOOLEAN, NUMĂR, LINIA, DATA) sau la un tip de referință. Citiți o versiune de probă a lecției, sunt disponibile lecții complete. Dar tipul la care se face turnarea trebuie inclus în lista de tipuri pentru acest câmp compozit, altfel sistemul va arunca o eroare.

A lua testul

Începeți testul

1. Alegeți afirmația cea mai corectă

2. Sunt numite detalii care pot lua valori de unul dintre mai multe tipuri

3. Pentru a determina tipul valorii atributului, utilizați funcția

4. Detaliile goale ale unui tip compozit sunt importante



 


Citit:



Suprapunerea funcțiilor de algebră logică Funcții booleene monotone

Suprapunerea funcțiilor de algebră logică Funcții booleene monotone

O corespondență G dintre mulțimile A și B se numește submulțime. Dacă , atunci se spune că b îi corespunde lui a. Multe din toate relevante...

Ce este un sistem informatic?

Ce este un sistem informatic?

Portaluri de stat, site-uri web ESIA. Sistem unificat de identificare și autentificare - esia.gosuslugi.ru EPGU. Portalul unificat al serviciilor publice...

Trecerea de la o expresie logică la un circuit logic și invers

Trecerea de la o expresie logică la un circuit logic și invers

Lucrare de laborator nr 4. Implementarea circuitelor elementelor logice. Construirea circuitelor logice. Partea teoretică. Prelucrarea se bazează pe...

Nizhny Novgorod jena de Russian Post

Nizhny Novgorod jena de Russian Post

După introducerea noului sistem de operare EAS OPS, care a costat 890 de milioane de ruble, timpul de serviciu pentru clienți la oficiile poștale din regiune...

imagine-alimentare RSS