itthon / Közösségi média / Mint az 1s kérésben. Hasonló a lekérdezési feltételekhez. A % egy szó szerinti, tetszőleges számú karaktert jelent

Mint az 1s kérésben. Hasonló a lekérdezési feltételekhez. A % egy szó szerinti, tetszőleges számú karaktert jelent

A LIKE operátor a lekérdezésben ellenőrzi a táblákból származó karakterlánc-értékeket, hogy hasonlóak-e egy mintához.
A következőképpen használatos: ettől az operátortól balra található az ellenőrizendő karakterlánc, jobbra pedig a sablon.

Ellenőrzés után igaz vagy hamis értéket ad vissza, és aktívan használják körülmények között.
A sablon létrehozásához a következő szolgáltatásszimbólumok használhatók:

  • % (százalék) - tetszőleges számú karaktert tartalmazó sorozat
  • _ (aláhúzás) - egy tetszőleges karakter
  • […] (egy vagy több karakter szögletes zárójelben) – bármely, szögletes zárójelben szereplő karakter
    A különféle karakterek mellett tartományok is használhatók, például a-z(A-z), ami azt jelenti, hogy a tartományban tetszőleges karakter szerepel, beleértve a tartomány végeit is.
  • [^…] (szögletes zárójelben egy tagadójel, amelyet egy vagy több karakter követ) - bármely egyedi karakter, kivéve a tagadójel után felsoroltakat

A fennmaradó karaktereket a rendeltetésüknek megfelelően használják.
Ha a fenti szolgáltatáskarakterek valamelyikét karakterként kell továbbítani, akkor ezt meg kell előznie<Спецсимвол>. Magamat<Спецсимвол>(bármely megfelelő karakter) ugyanabban az utasításban van definiálva a SPECIAL CHARACTER kulcsszó után.
Például az „%ABC[abc]\_abc%” SPECIÁLIS KARAKTER „\” minta egy karaktersorozatból álló részstringet jelent:
A betűk; B betűk; B betűk; egy számjegy; az a, b, c vagy d betűk egyike; aláhúzás karakter; a betűk; b betűk; betűk be.
Ezenkívül ezt a sorozatot tetszőleges karakterkészlet előzheti meg.

Eljárás SelectContractContainingInNameText(mText)
//A kérésben olyan sablont fogunk használni, mint "%" + mText + "%" Request = New Request; Query.SetParameter("Név", "%" + Szöveg + "%"); Query.Text = "KIVÁLASZT | Szerződések.Hivatkozás, | Szerződések.Tulajdonos |FROM | Címtár.A szerződő felek szerződései AS Szerződések | |HOL | Szerződések.Név MINT &Név"; Eredmény = Request.Run(); Selection = Eredmény.Select(); Report("Azok a megállapodások, amelyek a következő nevet tartalmazzák: " + mText + ", a következő szerződő felekkel rendelkeznek"); While Selection.Next() Loop Report("Fiók: " + Kiválasztás.Tulajdonos + "; Szerződés: " + Kiválasztás. Hivatkozás EndIf; EndProcedure

MINT- Operátor annak ellenőrzésére, hogy egy karakterlánc hasonló-e egy mintához. A LIKE analógja SQL-ben.
Operátor MINT lehetővé teszi a tőle balra megadott kifejezés értékének összehasonlítását a jobb oldalon megadott sablon karakterlánccal. A kifejezés értékének karakterlánc típusúnak kell lennie. Ha a kifejezés értéke megegyezik a sablonnal, akkor az operátor eredménye TRUE, ellenkező esetben HAMIS.
A sablon karakterláncának következő karakterei szolgáltatáskarakterek, és jelentésük eltér a karakterlánc karakterétől:
. % (százalék): tetszőleges számú karaktert tartalmazó sorozat
. _ (aláhúzás): egy tetszőleges karakter
. […] (egy vagy több karakter szögletes zárójelben): bármely, szögletes zárójelben szereplő karakter
A felsorolás tartalmazhat tartományokat, például a-z, ami a tartományon belüli tetszőleges karaktert jelenti, beleértve a tartomány végeit is.
. [^…] (szögletes zárójelben egy tagadójel, amelyet egy vagy több karakter követ): bármely más karakter, amely nem szerepel a tagadójel után
Minden más szimbólum önmagát jelenti, és nem hordoz semmilyen további terhelést.
Ha a felsorolt ​​karakterek valamelyikét önmagának kell írni, akkor ezt meg kell előznie<Спецсимвол>. Magamat<Спецсимвол>(bármely megfelelő karakter) ugyanabban az utasításban van definiálva a SPECIAL CHARACTER kulcsszó után.
Például, „%ABC[abc]\_abc%” minta KÜLÖNLEGES KARAKTER A „\” egy karaktersorozatból álló részstringet jelent:
A betűk; B betűk; B betűk; egy számjegy; az a, b, c vagy d betűk egyike; aláhúzás karakter; a betűk; b betűk; betűk be.
Ezenkívül ezt a sorozatot tetszőleges karakterkészlet előzheti meg.

Példák a felhasználásra:
Code 1C v 8.x eljárás BankTextInputEnd (elem, szöveg, érték, szabványos feldolgozás)
StandardProcessing = False;
//Készítsen lekérdezést olyan minták keresésével, mint például a "%" +<Текст введенный пользователм в поле ввода> + "%"
Request = Új kérés;
Query.SetParameter("Név", "%" + Szöveg + "%");
Query.Text = "VÁLASZTÁS
| Bankok.Link
| FROM
| Címtár Banks AS Banks
|HOL
| Banks.Name MINT &NÉV";

Eredmény = Request.Run();
Selection = Eredmény.Select();
Ha Eredmény.Empty() Akkor
//Nincs találat. Itt megjeleníthetsz üzenetet, vagy valami mást :)
Másképp
//Szerezzen eredményeket
tzResults = Eredmény.Unload();
//Készítsen egy olyan értéklistát, amely tartalmazza a talált elemeket.
Érték = Új értéklista();
Value.LoadValues(tzResults.UnloadColumn("Link"));
EndIf;
Vége eljárás

Szükséges, hogy csak a Főszerződés neve stb. essen az „Alapértelmezett szerződések” közé:
Kód 1C v 8.x választás
Ha a név HASZNÁLÓ "Egyezmény #%", akkor "Megállapodás #" //Minden olyan sor, amely "Egyezmény #" karakterlánccal kezdődik, megfelelő
Ha a név MINT "Fő szerződés%[^А-яЁё"+Szimbólum(33)+"-"+Szimbólum(126)+"№"""+Szimbólumok.PS+Szimbólumok.Tab+Szimbólumok.PF+Szimbólumok. NPP+ Symbols.VTab+"]%", majd "Default Agreements" //Bármelyik karakterlánc, amely a "Main Agreement" karakterlánccal kezdődik, megfelel
Egyéb "egyéb"
Vége, mint egyfajta szerződés

Az oldalról vett információ

Néha olyan helyzet adódik, amikor az 1C 8.3-ban vagy 8.2-ben ki kell választania például az összes olyan elem könyvtárából, amelyek nevében szerepel az „icing” szó. Vagy válassza ki a címtárból az összes olyan partnert, amelynek vezetéknevében az „Ivan” szó szerepel. Általában ellenőrizze néhány karakterlánc értékét.

Ehhez az 1C 8.3 és 8.2 - „Tetszik” kérésekben van egy operátor. A következő körülmények között használják:

Ingyenes 267 1C videóleckéket kaphat:

Hogyan kell sablonokat használni az 1C kérésekben?

Kiválasztási feltétel kialakításához egy sablont kell átadnia paraméterként. A sablon létrehozásához úgynevezett szolgáltatási szimbólumok állnak rendelkezésre.

Például a "%" karakter tetszőleges karaktersorozatot engedélyez:

Vannak mások is Különleges szimbólumok:

  • % (százalék) – tetszőleges karaktersorozatot engedélyez;
  • _ (aláhúzás) - tetszőleges karakter;
  • A […] egy tetszőleges karakter a zárójelben felsoroltak közül. A karakterek felsorolása mellett tartományokat is használhat. Példa: a-o;
  • [^…] – ugyanaz, mint az előző, de fordítva. A "^" jel tagadást jelent.

Ebben a cikkben mindenkivel szeretnénk megvitatni lekérdező nyelvi függvények 1s, és lekérdező nyelvi konstrukciók. Mi a különbség a függvény és a struktúra között? A függvényt zárójelekkel és a benne található lehetséges paraméterekkel hívjuk meg, a konstrukciót pedig zárójelek nélkül írjuk. Kétségtelenül az 1s lekérdező nyelv összes konstrukciója és függvénye rugalmassá és multifunkcionálissá tenni az adatgyűjtési folyamatot. Ezek a függvények és konstrukciók a lekérdezési mezőkre vonatkoznak, néhány pedig a feltételekre is.

Lekérdezési nyelvi funkciók 1s

Világos leírás óta lekérdező nyelvi függvények 1s sokkal kevésbé elterjedt, mint a struktúrák leírása, úgy döntöttünk, hogy elkezdjük a függvények vizsgálatát. Most elemezzük mindegyiket külön-külön, leírva a célt, a szintaxist és a használati példát, tehát:

1. Funkció DÁTUM IDŐ - adott funkciót konstans mezőt hoz létre "Dátum" típusú.

Szintaxis: DÁTUM IDŐ(<Год>,<Месяц>,<День>,<Час>,<Минута>,<Секунда>)

Használati példa:

2. DATE DIFFERENCE funkció- két dátum különbségét adja vissza az egyik dimenzióban (év, hónap, nap, óra, perc, másodperc). A mérés paraméterként kerül átadásra.

Szintaxis: DIFFERENCEDATE(<Дата1>, <Дата2>, <Тип>)

Használati példa:

Query.Text = "SELECT | DATE DIFFERENCE(DATETIME(2015, 4, 17), DATETIME(2015, 2, 1), DAY) | AS Napok száma";

3. VALUE függvény- konstans mezőt állít be előre meghatározott bejegyzéssel az adatbázisból, bármilyen típusú null hivatkozást is kaphat.

Szintaxis: VALUE(<Имя>)

Használati példa:

Query.Text = "SELECT // előre meghatározott elem| ÉRTÉK(Referencia.Currencies.Dollar) AS Dollar, //üres hivatkozás | ÉRTÉK(Document.IncomingGoods/Services.EmptyReference) AS Bejövő, //érték. transzferek | ÉRTÉK(Enumeration.LegalIndividual.Individual) AS Magánszemély, //előre meghatározott számla | ÉRTÉK(Számlatábla. Önhordó. Anyagok) AS Account_10" ;

4. SELECT funkció- van egy analógja a kódban használt IF konstrukciónak, csak ezt használják az 1C lekérdezésekben.

Szintaxis: VÁLASZTÁS MIKOR<Выражение>AKKOR<Выражение>MÁSKÉPP<Выражение>VÉGE

Használati példa:

Request.Text = //ha az összeg meghaladja a 7500-at, akkor 300 rubel kedvezmény kell, //ezért ha a feltétel aktiválódik, akkor a //függvény az Összeg - 300 értéket adja vissza //egyébként a kérés egyszerűen visszaadja az Összeg "SELECT | SELECT | WHEN PMIjövedelem.Összeg > 7500 | THEN PTReceipts.Amount - 300 | ELSE PTRreceipts.Amount | END AS ÖsszegKedvezményes |FROM | Dokumentum.Árukátvételi szolgáltatás;Áruk.Áruk"

5. EXPRESS funkció- lehetővé teszi egy konstans mező kifejezését egy adott típussal.

Szintaxis: EXPRESS (Mezőnév AS Típusnév)

Használati példa:

Query.Text = "VÁLASZTÁS KÜLÖNBÖZŐ | Értékesítés.Regisztr.szám, | KIVÁLASZT | WHEN Értékesítési.Regisztr.REF. dokumentum.Kiadás | THEN EXPRESS(Értékesítés.Regisztr.mint bizonylat.Kiadás) | ELSE SELECT | WHEN Értékesítés.Regisztr.REF.dokumentum.Megvalósítás | THEN EXPRESS(Sales.Registrar AS Document.Release) | VÉGE | ... | END AS Szám | FROM | Felhalmozási nyilvántartás. Vásárlások AS vásárlások";

Mégis létezik az EXPRESS függvény használatának egy változata a vegyes típusú mezőkben, ahol ezek találkoznak? A legegyszerűbb példa a "Regisztrátor" bármely regiszterhez. Miért kellene tehát minősítenünk a típust a regisztrátorban? Tekintsük azt a helyzetet, amikor az anyakönyvvezetőből kiválasztjuk a "Szám" mezőt, melyik táblázatból lesz kiválasztva a szám? Mindenre korrekt válasz! Ezért, hogy a lekérdezésünk gyorsan működjön, meg kell adnunk egy explicit típust az EXPRESS függvény segítségével

Használati példa:

Query.Text = "KIVÁLASZT | EXPRESS(Nómenklatúra.Megjegyzés AS String(300)) AS megjegyzés, | EXPRESS(Nómenklatúra.Összeg AS szám(15,2)) AS Összeg |FROM | Hivatkozás.Nómenklatúra AS Nómenklatúra";

6. ISNULL függvény(alternatív helyesírás IS NULL) - ha a mező NULL típusú, akkor azt a függvény második paramétere váltja fel.

Szintaxis: NULLA(<Поле>, <ПодставляемоеЗначение>)

Használati példa:

Vegye figyelembe azt is, hogy a NULL típust MINDIG célszerű valamilyen értékre cserélni, mert A NULL-lal való összehasonlítás mindig FALSE-ra értékelődik, még akkor is, ha a NULL-t NULL-lal hasonlítja össze. Leggyakrabban a NULL értékek a tábla-illesztések eredményeként jönnek létre (minden típusú csatlakozás, kivéve a belsőt).

Query.Text = //Válassza ki a teljes tételt és a rajta lévő egyenlegeket //ha valamelyik cikkben nincs egyenleg, akkor egy //NULL mező lesz, amelyet a 0 "SELECT | No.Reference, | ISNULL(GoodsInWarehouseRemains.InStockRemaining, 0) HOW Remainder | FROM | Címtár. Nómenklatúra AS Nom | LEFT JOIN Felhalmozási nyilvántartás.

7. REPREZENTÁCIÓ funkció- lehetővé teszi a kérés mezőjének megjelenítését.

Szintaxis: TELJESÍTMÉNY(<НаименованиеПоля>)

Használati példa:

Query.Text = "SELECT | REPRRESENTATION(Free Remains.Nomenclature) AS Nomenklatúra, | REPRESENTATION(FreeRemains.Warehouse) AS Raktár, | FreeRemainsRemains.AvailableRemains |FROM | Accumulation Register.FreemainsARemains"FreeRemainsRemains"

Konstrukciók az 1s lekérdezési nyelven

Fentebb megbeszéltük veled lekérdező nyelvi függvények 1s, itt az ideje átgondolni konstrukciók az 1s lekérdező nyelvben, nem kevésbé fontosak és hasznosak, kezdjük.

1. Építés LINK- egy logikai referencia típus-ellenőrző operátor. Leggyakrabban akkor fordul elő, amikor egy összetett típusú mezőt tesztelünk egy adott típushoz. Szintaxis: LINK<Имя таблицы>

Használati példa:

Query.Text = //ha a regisztrátor értéktípusa bizonylat Bevétel, //akkor a lekérdezés "Beérkező áruk", ellenkező esetben "Áruk értékesítése" "SELECT | SELECT | WHEN Remains.Registrar LINK Document.Incoming GoodsServices" | AKKOR ""Bejövő" | EGYÉB "Kiadás" | END AS Mozgás típusa | FOLT | Felhalmozási nyilvántartás. A raktárban lévő árumaradványok AS Maradványok ";

2. Építés KÖZÖTT - adott operátor ellenőrzi, hogy az érték a megadott tartományon belül van-e.

Szintaxis: KÖZÖTT<Выражение>ÉS<Выражение>

Használati példa:

Query.Text = //az összes nómenklatúra lekérése, amelynek kódja 1 és 100 között van "SELECT | Nomenclature.Reference | FROM | Katalógus.Nómenklatúra AS Nómenklatúra |WHERE | Nómenklatúra.Kód 1 ÉS 100 KÖZÖTT" ;

3. A HIERARCHIA B és B konstrukciója- ellenőrizze, hogy az érték szerepel-e az átadott listában (a tömbök, értéktáblázatok stb. átadhatók listaként). Az IN HIERARCHY operátor lehetővé teszi a hierarchia megtekintését (példa a PlanAccounts használatára).

Szintaxis: BAN BEN(<СписокЗначений>), A HIERARCHIÁBAN(<СписокЗначений>)

Használati példa:

Query.Text = // válassza ki a fiók összes alszámláját "SELECT | Önfenntartó. Kapcsolja össze a fiókot | FROM | Számlaterv. Önfenntartó AS Önfenntartó | WHERE | Önfenntartó. Hivatkozás HIERARCHIA ÉRTÉKBEN( Számlarend. Önfenntartó. Áruk)";

4. Építkezés LIKE- ez a funkció lehetővé teszi, hogy összehasonlítsunk egy karakterláncot egy karakterlánc-mintával.

Szintaxis: MINT"<ТекстШаблона>"

Sorsablon opciók:

% - tetszőleges számú karaktert tartalmazó sorozat.

Egy tetszőleges karakter.

[...] - bármilyen egyedi karakter vagy szögletes zárójelben szereplő karaktersorozat. A felsorolás tartalmazhat tartományokat, például a-z, ami a tartományon belül bármely karaktert jelent, beleértve a tartomány végeit is.

[^...] - tetszőleges egyetlen karakter vagy szögletes zárójelben szereplő karaktersorozat, kivéve a tagadójel után felsoroltakat.

Használati példa:

Query.Text = //keresse meg a teljes nómenklatúrát, amely tartalmazza a TABUR gyökeret és //vagy kis vagy nagy t betűvel kezdődik "SELECT | Nomenclature.Reference |FROM | Directory.Nómenklatúra AS Nómenklatúra |WHERE | Áruk.Név LIKE ""[Тт ]abur%""" ;

5. Tervezés ENGEDÉLYEZVE- ez a kijelentés lehetővé teszi, hogy az adatbázisból csak azokat a rekordokat válasszuk ki, amelyekhez a hívónak olvasási joga van. Ezek a jogok rekordszinten (RLS) vannak konfigurálva.

Szintaxis: Az ALOWED a SELECT kulcsszó után van írva

Használati példa:

Query.Text = "KIVÁLASZTÁSA ENGEDÉLYEZETT | Counterparties.Reference |FROM | Directory.Counterparties AS Counterparts";

6. Építés KÜLÖNBÖZŐ- lehetővé teszi olyan rekordok kiválasztását, amelyekben nincsenek ismétlődő rekordok.

Szintaxis: A SELECT kulcsszó után a DIFFERENT felirat olvasható

Használati példa:

Request.Text = //kiválasztja azokat a rekordokat, amelyekhez az olvasónak joga van "SELECT DFFERENT | Counterparties.Name |FROM | Directory.Counterparties AS Counterparties" ;

A DIFFERENT konstrukció az ALOWED operátorral és más operátorokkal is használható.

Használati példa:

Query.Text = //különféle rekordokat választ ki, amelyekhez az olvasónak joga van "SELECT ALOWED DIFFERENT | Contractors.Name |FROM | Directory.Contractors AS Contractors";

7. Építés ELŐSZÖR- a lekérdezés eredményéből kiválasztja a paraméterben megadott rekordok számát.

Szintaxis: FIRST<число>

Használati példa:

Query.Text = //válasszuk ki az első 4 GTD számot a könyvtárból: "SELECT THE FIRST 4 | GTD Numbers.Reference |FROM | Catalog.GTE Numbers AS GTD Numbers";

8. Tervezés VÁLTOZÁSRA- lehetővé teszi az asztal zárolását, csak tranzakciókban működik (csak az automatikus zárolásoknál releváns).

Szintaxis: VÁLTOZÁSRA<НаименованиеТаблицы>

Használati példa:

Query.Text = "SELECT | FreeRemainsRemains.Nomenclature, | FreeRemainsRemains.Warehouse, | FreeRemainsRemains.AvailableRemains |FROM | Felhalmozási nyilvántartás.FreeRemains.Remains AS FreeRemainsRemains |VÁLTOZÁSRA |

9. Szerkezet MEGRENDELÉS- meghatározott mezők szerint rendezi az adatokat. Ha a mező hivatkozás, akkor a zászló beállításakor AUTOMATIKUS RENDELÉS a linkábrázolás szerint lesz rendezve, ha a jelző ki van kapcsolva, akkor a hivatkozások a memóriában lévő hivatkozási cím szenioritása szerint vannak rendezve.

Szintaxis: RENDEZÉS<НаименованиеПоля>AUTOMATIKUS RENDELÉS

Használati példa:

Query.Text = "SELECT | FreeRemains.Nomenclature AS Nomenclature, | FreeRemainsRemains.Warehouse AS Warehouse, | FreeRemains.RaktáronFennmaradó |FROM | Felhalmozási nyilvántartás.FreeRemains.Remains AS FreeRemainsRemains | AUTOING; CORDERING BY | | Nómenklatúra |

10. Tervezés GROUP BY- a lekérdezési karakterláncok bizonyos mezők szerinti csoportosítására szolgál. A numerikus mezőket minden összesítő függvénynél használni kell.

Szintaxis: CSOPORTOSÍT<НаименованиеПоля1>, .... , <НаименованиеПоляN>

Használati példa:

Query.Text = "SELECT | ItemsInWarehouse.Nomenclature AS Nomenclature, | ItemsInWarehouse.Warehouse, | SUM(TermékekRaktárban.Raktáron) AS Raktáron |FROM |

11. Tervezés HAVING- lehetővé teszi, hogy a WHERE konstrukcióhoz hasonlóan összesítő függvényt alkalmazzunk az adatkiválasztási feltételhez.

Szintaxis: HAVING<агрегатная функция с условием>

Használati példa:

Query.Text = //csoportosított rekordokat választ ki, ahol az InStock mező nagyobb, mint 3 "SELECT | GoodsInStock.Nomenclature AS Nomenclature, | GoodsInWarehouse.Warehouse, | SUM(ItemsInWarehouse.InStock) AS InStock |FROM | AccumulationA GoodsWarehouse | |CSOPORTOSÍTÁS | Áruk raktárban.Nómenklatúra, | Áruraktárban.Raktár | |MÉRET | ÖSSZEG(Áruk raktárban.Raktáron) > 3" ;

12. INDEX SZERINT- a lekérdezési mező indexelésére szolgál. Az indexelt lekérdezés befejezése hosszabb ideig tart, de felgyorsítja a keresést az indexelt mezőkben. Csak virtuális táblákban használható.

Szintaxis: INDEX BY<Поле1, ... , ПолеN>

Használati példa:

Query.Text = "SELECT | Tz.OS név, | Tz.Mappa száma, | Tz.CodeOS, | Tz.Term, | Tz.Type |PUT DataTz |FROM | &Tz HOGYAN Tz | | INDEX BY | Tz.OS név , | Tz .CodeOS";

13. Építkezés HOL- lehetővé teszi, hogy feltételt szabjon a kijelölés bármely mezőjére. Csak a feltételnek megfelelő rekordok szerepelnek az eredményben.

Szintaxis: AHOL<Условие1 ОператорЛогСоединения УсловиеN>

Használati példa:

Query.Text = //az összes rekord kiválasztása a CompensationRemainder segítségével<>0 és // Számítási kompenzációs egyenleg > 100 "SELECT | Kompenzációs RPO egyenlegek. Ügyfél, | Kompenzációs RPO egyenlegek. Gyermek, | Kompenzációs RPO egyenlegek. Kompenzációs egyenleg, | Kompenzációs RPO egyenlegek. Összege Calc.Comp Balance | F PLACE DataTz | Felhalmozási nyilvántartás. Kompenzáció RP. Egyenlegek AS Kompenzáció R egyenlegek | WHERE | Kompenzációs RPO egyenlegek Kompenzációs egyenleg<>0 | És kompenzációs RPO egyenlegek. Összeg a CalcComp maradékhoz > 100" ;

14. Tervezési EREDMÉNYEK ... ÁLTALÁNOS- a végösszegek kiszámítására szolgál, a terv meghatározza azokat a mezőket, amelyekre a végösszeg kiszámításra kerül, és összesített függvényekösszefoglaló mezőkre alkalmazva. Ha a TOTALS konstrukciót követően minden mezőben összegeket használ, az adatok csoportosítva vannak. Van egy opcionális GENERAL konstrukció, ennek használata további csoportosítást is biztosít. Alább láthat egy példát a lekérdezés eredményére.

Szintaxis: EREDMÉNYEK<АгрегатнаяФункция1, ... , АгрегатнаяФункцияN>ÁLTAL<ОБЩИЕ> <Поле1, ... , ПолеN>

Használati példa:

Query.Text = "VÁLASZT | Elszámolások. Ügyfélszerződés. Szerződés típusa AS Szerződés típusa, | Elszámolások. Országszerződés AS megállapodás, | Elszámolások. Ügyfél, | Elszámolások. Kölcsönös elszámolások összege Egyenleg AS Egyenleg | TÓL | | Szoftver | ÁLTALÁNOS, | Szerződés típusa";

A kérés teljesítése során létrejött csoportosítások az ábrán be vannak karikázva, a felső az ÁLTALÁNOS, a második a ContractorContractorTypeContract mezőre vonatkozik.

Operátor MINT lehetővé teszi, hogy lekérdezésben összehasonlítsa az operátortól balra lévő karakterlánc típusú adatokat az operátortól jobbra lévő karakterlánc típusú adatokkal. Az összehasonlítás eredménye igaz vagy hamis, így az összehasonlítás feltételként alkalmazható.

Kezelő számára MINT speciális szolgáltatási karakterek vannak megadva, amelyeket nem karakterláncként érzékelünk:

  • "%" százalékszimbólum: azt jelzi, hogy tetszőleges számú karakter van a karakterláncban
  • "[...]" egy vagy több karakter szögletes zárójelben: a felsorolt ​​karakterek bármelyikének (egyetlen) jelenlétét jelzi. Ezenkívül megadható egy karaktertartomány is (például )
  • "_" aláhúzás karakter: bármely tetszőleges karakter jelenlétét jelzi
  • "[^...]" tagadó karakter: bármely egyedi karakter jelenlétét jelöli, kivéve a szögletes zárójelben lévőket
Ha az összehasonlításhoz meg kell adnia a fenti speciális karakterek egyikét, akkor ezt kell használnia kulcsszó"KÜLÖNLEGES SZIMBÓLUM"

Különféle DBMS-ekkel való használat jellemzői

IBM DB2" Csak egy paraméter helyezhető el a LIKE operátortól jobbra. Az egyetlen helyettesítő karakter a "_" (aláhúzás, amely bármely karaktert jelent) és a "%" (százalék, amely bármely karakter sorozatát jelenti).
DBMS használata esetén " PostgreSQL"vagy" Oracle adatbázis"a speciális karakterek "szögletes zárójelek [...]" csak akkor fogadhatók el, ha a kérés szövege meghatározza, és NEM adják át paraméterként a kérésnek.

Így a fájlbázisban a speciális karakterek mindig ugyanúgy, és a kliens-szerver verzióban használt DBMS-től függően eltérő módon lesznek érzékelve.

Példa: válasszon olyan termékeket, amelyek nevében a „%” szimbólum szerepel

KIVÁLASZT | Hivatkozási hivatkozás | FROM | Spravochnik.Nómenklatúra AS Ref |HERE | Ref Név MINT "%\%" SPECIÁLIS KARAKTER "\"

Példa: válasszon olyan termékeket, amelyek neve a „tartály” szóval kezdődik

KIVÁLASZT | Hivatkozási hivatkozás | FROM | Spravochnik.Nómenklatúra AS Ref |HERE | Hivatkozási név LIKE "Buck%"

Példa: válasszon olyan termékeket, amelyek neve számmal végződik

KIVÁLASZT | Hivatkozási hivatkozás | FROM | Spravochnik.Nómenklatúra AS Ref |HERE | Hivatkozási név LIKE "%"