Acasă - Browsere
Cum să obțineți tipul (tipul) unui document într-o solicitare? Verificarea tipului de valoare într-o cerere de 1s.

43
NULL – 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. NUL... 26
Pentru a genera și executa interogări către tabelele bazei de date în platforma 1C, este utilizat un obiect special al limbajului de programare Query. Acest obiect este creat prin apelarea constructului New Request. Cerere convenabilă... 18
Articolul oferă tehnici utile atunci când lucrați cu interogări 1C v.8.2, precum și informații care nu sunt atât de bine cunoscute despre limbajul de interogare. Nu încerc să ofer o descriere completă a limbajului de interogare, dar vreau să mă opresc doar asupra... 13
LIKE - Operator pentru verificarea asemănării unui șir cu un model. Analog de LIKE în SQL. Operatorul SIMILAR vă permite să comparați valoarea expresiei specificate în stânga acesteia cu șirul de model specificat în dreapta. Sensul expresiei...

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.

În apropierea structurii 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 foarte des folosit 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:

Acesta 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!

1C vă permite să simplificați semnificativ contabilitatea sau pur și simplu să gestionați orice organizație, fie că este vorba de un magazin mic sau de o întreprindere mare. Programul este un sistem mare de gestionare a bazelor de date. Pentru a nu fi confuz în toate acestea, trebuie să fiți capabil să efectuați diverse acțiuni simple și să înțelegeți esența. În continuare, veți înțelege cum să verificați tipul de valoare dintr-o solicitare în 1C, precum și care sunt acestea în general, precum și cum să faceți distincția între ele.

Tipuri de valori

1C: Întreprinderea a inclus o funcție specială în versiunile noi (platforma 8.2). Folosind-o, puteți adăuga orice parametri speciali la orice nume sau elemente ale sistemului de date. Acest lucru a fost făcut pentru a face sistemul mai ușor de editat și pentru a adăuga elemente noi. Această funcție se numește „Tip de valoare”.

De fapt, acesta este unul dintre conceptele de bază pe care le conțin majoritatea limbajelor de programare. Folosind-o, puteți clasifica diverse date. De exemplu: date, numere, șiruri, link-uri. Acestea sunt doar clasificări de bază. S-ar putea să fie mai mulți dintre ei. Să presupunem că, dacă introduceți informații despre orașe în sistemul dvs., puteți utiliza: continent, țară, regiune etc.

Examinare

Puteți verifica un anumit câmp folosind un limbaj de interogare. Sau mai degrabă funcțiile sale: TYPE VALUE. Adică, dacă vrem să aflăm ce tip de informații conține celula de interes, trebuie să folosim comanda.

VALOARE TYPE(Valoare) = TYPE(Șir)

În exemplul de mai sus, am definit cel mai simplu tip folosind comanda. Un alt exemplu de validare a cererii:

Documentație

Există destul de multe tipuri; utilizatorii se pot descurca cu cele inițiale sau pot introduce propriile lor pentru a îmbunătăți baza de informații. Aici sunt câțiva dintre ei.

  • DocumentLink. Este folosit pentru stocarea convenabilă a referințelor la diferite obiecte din alte părți ale sistemului.
  • DocumentObject - editarea documentelor.
  • DocumentSelection - sortarea obiectelor din baza de date.

În plus, există termeni speciali care caracterizează orice date:

  • formă;
  • linia;
  • boolean;
  • număr;
  • data de;
  • matrice;
  • Caseta de bifat;
  • imagine.

Acestea sunt doar câteva dintre ele. Orice obiect poate fi doar ceva din această listă. Booleanul este un parametru special care ia două valori: adevărat sau fals. Există, de asemenea, etichete speciale care vă permit să ajustați cererea: când, unde, cum, altfel, etc. Ele setează algoritmul de comportament al programului. 1C se distinge prin faptul că aceste cuvinte aici, ca orice altceva, pot fi introduse în rusă.

Este important să înțelegem că toate acestea vor fi percepute de începători și non-profesioniști ca alfabetizare chineză. Pentru a înțelege despre ce vorbim și pentru a utiliza eficient 1C, trebuie să cunoașteți elementele de bază ale programării. În general, verificarea tipului unei cereri în programul 1C va fi destul de ușoară în comparație cu alte acțiuni.

Cerere . Text = "ALEGE | StorageUnits.Link |DIN | Directory.usStorageUnits CUM se folosescStorageUnits // Exemplul 1: comparație cu o valoare booleană goală: |UNDE | StorageUnits.AllowSelectionFromReserveZone = Fals // Exemplul 2. dar dacă acest boolean este definit, atunci este mai bine așa: // condiție pentru un boolean negativ: |UNDE | NU unități de depozitare. Permiteți selecția din zona de rezervă // Exemplul 3. selecție bazată pe condiția unui câmp gol care are tipul „director de un anumit tip” |UNDE | StorageUnits.ActiveSelectionArea = VALUE(Directory.usSelectionArea.EmptyRef) // Exemplul 3a. selecție bazată pe condiția unui câmp gol având tipul „document de un anumit tip” |UNDE | OurInformationRegister.Document = VALUE(Document.OurDocument.EmptyLink) // Exemplul 3b. selecție bazată pe condiția unui câmp gol având tipul „documente de diferite tipuri” ( câmp compozit) |UNDE | (OurInformationRegister.Document = VALUE(Document.OurDocument1.EmptyLink) | SAU OurInformationRegister.Document = VALUE(Document.OurDocument2.EmptyLink) | SAU... (etc. - listăm secvenţial condiţiile pentru toate tipurile posibile ale acestui câmp compus) ) // Exemplul 4. sau invers, dacă trebuie să selectați o valoare completată de tipul „șir”, atunci condiția va ajuta: |UNDE | Unitate de stocare.Nume > """" // Exemplul 5. dacă trebuie să selectați documente de un anumit tip, cu un tip de date compus, de exemplu, în registrul „RunningTasks”, resursa „Task” are un tip compozit, printre valorile cărora documentul „Selectare” este posibil |UNDE | EXPRESS(Informații RegisterExecutedTasks.Task AS Document.Selection) LINK Document.Selection // Exemplul 5a. Un alt exemplu similar când trebuie să selectați documente de un anumit tip | ALEGEREA | CÂND SE EXPRIMĂ (ag Corespondența documentelor. DocumentBU AS Document. Recepția Bunurilor și Serviciilor) LINK Document. Recepția Bunurilor și Serviciilor | ATUNCI ""Recepția de bunuri și servicii"" | CÂND SE EXPRIMĂ (ag Corespondența documentelor. DocumentBU AS Document. Vânzări de bunuri și servicii) LINK Document. Vânzări de bunuri și servicii | APOI ""Vânzări de bunuri și servicii"" | ELSE """" | END AS Document View // Exemplul 6. selectarea după condiție a unei valori nedefinite: |UNDE | SavedSettings.User = NEDEFINIT // Exemplul 7. selectarea după tipul de mișcare „Intrare” a registrului de acumulare, „Cheltuieli” - similar): |UNDE | RegProductsInRetail.MovementType = VALUE(MovementTypeAccumulation.Incoming) // Exemplul 8. Cum să indicați într-o solicitare că nu este nevoie să executați cererea (de exemplu, trebuie să returnați în mod programatic, în funcție de o anumită condiție, un rezultat al cererii necompletate - Request.Text = StrReplace(Request.Text, „UNDE Doc.Link = &DocumentLink” , „UNDE E MINCIUNEA”);). Pentru a face acest lucru, trebuie doar să adăugați condiția „Unde este fals”. Apropo, indiferent de volumul de date solicitat în eșantion, o astfel de solicitare va fi executată instantaneu. |UNDE E MINCIUNA // Exemplul 9. Verificarea dacă rezultatul interogării conține date: Dacă nuCerere.A executa().Gol() Apoi // Exemplul 10. selecție bazată pe o dată goală: |UNDE | tbStrings.CancellationDate = DATETIME(1, 1, 1)

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:



Schimb descentralizat DEX: de ce este mai bine decât un schimb obișnuit

Schimb descentralizat DEX: de ce este mai bine decât un schimb obișnuit

Google Android SDK pentru Linux Google Android SDK pentru Linux Android SDK este programul care vă oferă instrumentele de dezvoltare și bibliotecile API pe care le...

Lumea clubului de carte. A comanda. Plasarea unei comenzi pentru cărți electronice

Lumea clubului de carte.  A comanda.  Plasarea unei comenzi pentru cărți electronice

Autorizare Acest lucru se poate face în mai multe moduri. 1. Conectați-vă folosind numărul dvs. de club: faceți clic pe butonul „Autentificare”. 2. Conectați-vă prin Facebook sau Google:...

Cum să împrumuți bani pe Tele2 - instrucțiuni pas cu pas Cum să împrumuți bani pe Tele2

Cum să împrumuți bani pe Tele2 - instrucțiuni pas cu pas Cum să împrumuți bani pe Tele2

Ai rămas fără bani în contul tău, dar trebuie să dai un apel urgent sau să trimiți un mesaj. Situație comună? Din fericire, operatorul...

Cum să dezactivați „Lista neagră” pe Megafon Dezactivați serviciul de listă neagră Megafon

Cum să dezactivați „Lista neagră” pe Megafon Dezactivați serviciul de listă neagră Megafon

Vă sună în fiecare zi admiratorii secreti sau recuperatorii de datorii? Nu știi cum să scapi de un număr enervant? Faceți un punct și nu acceptați...

imagine-alimentare RSS