Obsahuje v požiadavke 1s. Podobne ako podmienky dopytu. Príklad: vyberte produkty, ktorých názov končí číslom

Operátor LIKE v dotaze kontroluje hodnoty reťazcov z tabuliek na podobnosť so vzorom.
Používa sa nasledovne, naľavo od tohto operátora je reťazec, ktorý sa má skontrolovať, a napravo je šablóna.

Po skontrolovaní vráti True alebo False, respektíve sa aktívne používa v podmienkach.
Na vytvorenie šablóny sa používajú nasledujúce symboly služieb:

  • % (percento) – sekvencia obsahujúca ľubovoľný počet ľubovoľných znakov
  • _ (podčiarkovník) - jeden ľubovoľný znak
  • […] (jeden alebo viac znakov v hranatých zátvorkách) – každý jednotlivý znak uvedený v hranatých zátvorkách
    Okrem rôznych znakov možno použiť aj rozsahy, napríklad a-z(A-z), čo znamená, že v rozsahu je zahrnutý ľubovoľný znak vrátane koncov rozsahu.
  • [^…] (v hranatých zátvorkách znak záporu nasledovaný jedným alebo viacerými znakmi) – akýkoľvek jednotlivý znak okrem tých, ktoré sú uvedené za znakom záporu

Zostávajúce znaky sa používajú na určený účel.
Ak sa jeden z vyššie uvedených servisných znakov musí prenášať ako znak, musí mu predchádzať<Спецсимвол>. Ja sám<Спецсимвол>(akýkoľvek vhodný znak) je definovaný v rovnakom príkaze za kľúčovým slovom SPECIAL CHARACTER.
Napríklad vzor „%ABC[abc]\_abc%“ ŠPECIÁLNY ZNAK „\“ znamená podreťazec pozostávajúci zo sekvencie znakov:
písmená A; písmená B; písmená B; jedna číslica; jedno z písmen a, b, c alebo d; znak podčiarknutia; písmená a; písmená b; písmená v.
Okrem toho môže tejto sekvencii predchádzať ľubovoľná množina znakov.

Postup SelectContractContainingInNameText(mText)
//V požiadavke použijeme šablónu ako "%" + mText + "%" Požiadavka = Nová požiadavka; Query.SetParameter("Name", "%" + Text + "%"); Query.Text = "SELECT | Dohody.Odkaz, | Dohody.Vlastník |FROM | Adresár.Dohody protistrán AS Dohody | |KDE | Dohody.Názov LIKE &Názov"; Vysledok = Request.Run(); Výber = Vysledok.Vyber(); Report("Dohody obsahujúce v názve: " + mText + " majú nasledujúce protistrany"); Kým Selection.Next() Loop Report("Účet: " + Selection.Owner + "; Zmluva: " + Selection.Reference EndIf; EndProcedure

V tomto článku chceme s vami všetkými diskutovať funkcie dopytovacieho jazyka 1s, ako aj konštrukcie dotazovacieho jazyka. Aký je rozdiel medzi funkciou a štruktúrou? Funkcia sa volá so zátvorkami a možnými parametrami v nich a konštrukcia je napísaná bez zátvoriek. Nepochybne všetky konštrukcie a funkcie dopytovacieho jazyka 1s aby bol proces získavania údajov flexibilný a multifunkčný. Tieto funkcie a konštrukcie sa vzťahujú na polia dotazu a niektoré sa vzťahujú aj na podmienky.

Funkcie jazyka dotazu 1s

Vzhľadom k tomu, jasný popis funkcie dopytovacieho jazyka 1s je oveľa menej bežné ako popis štruktúr, rozhodli sme sa začať pozerať na funkcie. Teraz poďme analyzovať každý z nich samostatne, opísať jeho účel, syntax a príklad použitia, takže:

1. Funkcia DÁTUM ČAS - danú funkciu vytvorí konštantné pole s typom "Dátum".

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

Príklad použitia:

2. Funkcia DATE DIFFERENCE- vráti rozdiel dvoch dátumov v jednej z dimenzií (rok, mesiac, deň, hodina, minúta, sekunda). Meranie sa odovzdá ako parameter.

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

Príklad použitia:

Query.Text = "SELECT | DATE-DIFFERENCE(DATETIME(2015, 4, 17), DATETIME(2015, 2, 1), DAY) | AS Počet dní";

3. Funkcia VALUE- nastaví konštantné pole s preddefinovaným záznamom z databázy, môžete tiež získať nulovú referenciu akéhokoľvek typu.

Syntax: VALUE(<Имя>)

Príklad použitia:

Query.Text = "SELECT //preddefinovaný prvok | VALUE(Currency.Dollar.Catalog.Dollar) AS dolár, //prázdna referencia | VALUE(Document.IncomingGoodsServices.EmptyReference) AS Príjem, //hodnota prevodu | VALUE(Transfer.LegalIndividual . Jednotlivec) AS Jednotlivec, //preddefinovaný účet | VALUE(Účtovná tabuľka.Samonosné.Materiály) AS Účet_10" ;

4. Funkcia SELECT- máme analógovú konštrukciu IF, ktorá sa používa v kóde, iba táto sa používa v dopytoch 1C.

Syntax: VOĽBA KEDY<Выражение>POTOM<Выражение>INAK<Выражение>KONIEC

Príklad použitia:

Požiadavka.Text = //ak je suma vyššia ako 7500, potom by mala byť zľava 300 rubľov, //preto, ak sa podmienka spustí, funkcia //vráti sumu - 300 //v opačnom prípade žiadosť jednoducho vráti Čiastku "SELECT | SELECT | WHEN PMIncome.Amount > 7500 | THEN PTReceipts.Amount - 300 | ELSE PTReceipts.Amount | END AS Amount Discounted |FROM | Document.ReceiptofGoodsServices.Goods AS"PTReceipts.

5. Funkcia EXPRESS- umožňuje vyjadriť konštantné pole konkrétnym typom.

Syntax: EXPRESS(názov poľa AKO názov typu)

Príklad použitia:

Query.Text = "VYBERTE RÔZNE | Číslo.registra.predaja, | VYBERTE | KEDY ODKAZ.Registrátora odbytu Dokument.Výdavky | TAK EXPRESS(Registrátor predaja AKO Dokument.Výdavky) | ELSE VYBERTE | KEĎ REF.Registr.predajca.Doklad.Implementácia | THEN EXPRESS(Sales.Registrar AS Document.Release) | KONIEC | ... | KONIEC AKO Číslo | OD | Register akumulácie.Nákupy AKO Nákupy";

Existuje ešte variant použitia funkcie EXPRESS v poliach zmiešaných typov, kde sa stretávajú? Najjednoduchším príkladom je „Registrátor“ pre akýkoľvek register. Prečo by sme teda mali kvalifikovať typ v registri? Zoberme si situáciu, keď z registrátora vyberieme pole "Číslo", z ktorej tabuľky sa číslo vyberie? Správna odpoveď všetkých! Preto, aby náš dotaz fungoval rýchlo, musíme zadať explicitný typ pomocou funkcie EXPRESS

Príklad použitia:

Query.Text = "CHOOSE | EXPRESS(Nomenclature.Comment AS String(300)) AS Comment, | EXPRESS(Nomenclature.Sum AS Number(15,2)) AS Sum |FROM | Reference.Nomenclature AS Nomenclature";

6. Funkcia ISNULL(alternatívny pravopis IS NULL) - ak je pole typu NULL, potom je nahradené druhým parametrom funkcie.

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

Príklad použitia:

Všimnite si tiež, že je žiaduce VŽDY nahradiť typ NULL nejakou hodnotou, pretože porovnanie s NULL sa vždy vyhodnotí ako FALSE, aj keď porovnávate NULL s NULL. Hodnoty NULL sa najčastejšie vytvárajú ako výsledok spojení tabuliek (všetky typy spojení okrem vnútorných).

Query.Text = //Vyberte celú položku a zostatky na nej //ak v niektorej položke nie je zostatok, potom bude pole //NULL, ktoré bude nahradené hodnotou 0 "SELECT | No.Reference, | ISNULL(Zostáva tovar na sklade.Zostáva na sklade, 0) AKO Zostatok | Z | Adresár. Nomenklatúra AKO Nom | LEFT JOIN Register akumulácie.

7. Funkcia REPREZENTÁCIE- umožňuje získať reprezentáciu poľa požiadavky.

Syntax: VÝKON (<НаименованиеПоля>)

Príklad použitia:

Query.Text = "SELECT | REPRESENTATION(Free RemainsRemains.Nomenclature) AS Nomenklatúra, | REPRESENTATION(FreeRemainsRemains.Warehouse) AS Warehouse, | FreeRemainsRemains.AvailableRemains |FROM | Accumulation Register.FreeRemains.Remains AS FreeRemains";

Konštrukcie v dopytovacom jazyku 1s

Vyššie sme s vami diskutovali funkcie dopytovacieho jazyka 1s, teraz je čas zvážiť konštrukcie v dopytovacom jazyku 1s, nie sú o nič menej dôležité a užitočné, začnime.

1. Stavebný LINK- je logický operátor kontroly typu odkazu. Najčastejšie sa vyskytuje pri testovaní poľa zloženého typu pre konkrétny typ. Syntax: LINK<Имя таблицы>

Príklad použitia:

Query.Text = //ak je typ hodnoty registrátora Príjem dokladu, //potom dotaz vráti "Došlý tovar", inak "Predaj tovaru" "VYBERTE | VYBERTE | KEĎ Zostatky.Registrátor LINK Dokument.Došlý tovarSlužby | POTOM ""Prichádzajúce" | ELSE "Výdavky" | KONIEC AKO Typ pohybu | OD | Register hromadenia. Zvyšky tovaru v skladoch AS Zvyšky ";

2. Stavba MEDZI- tento operátor kontroluje, či je hodnota v zadanom rozsahu.

Syntax: MEDZI<Выражение>A<Выражение>

Príklad použitia:

Query.Text = //získame celú nomenklatúru, ktorej kód je v rozsahu od 1 do 100 "SELECT | Nomenclature.Reference |FROM | Catalog.Nomenclature AS Nomenclature |WHERE | Nomenclature.Code BETWEEN 1 AND 100" ;

3. Konštrukcia B a B HIERARCHIE- skontrolujte, či je hodnota v odovzdanom zozname (polia, tabuľky hodnôt atď. môžu byť odovzdané ako zoznam). Operátor IN HIERARCHY umožňuje zobraziť hierarchiu (príklad použitia PlanAccounts).

Syntax: AT(<СписокЗначений>), V HIERARCHII(<СписокЗначений>)

Príklad použitia:

Query.Text = // vyberte všetky podúčty účtu "SELECT | Samonosný. Prepojiť AS účet | FROM | Plán účtov. Samonosný AS Samonosný | WHERE | Samonosný. Odkaz V HODNOTE HIERARCHIE( Rozpis účtov. Samonosné. Tovar)";

4. Stavebné LIKE- táto funkcia nám umožňuje porovnávať reťazec so vzorom reťazca.

Syntax: PÁČI SA MI TO"<ТекстШаблона>"

Možnosti šablóny riadkov:

% - sekvencia obsahujúca ľubovoľný počet ľubovoľných znakov.

Jedna ľubovoľná postava.

[...] - každý jeden znak alebo postupnosť znakov uvedených v hranatých zátvorkách. Enumerácia môže obsahovať rozsahy, ako napríklad a-z, čo znamená akýkoľvek znak v rozsahu, vrátane koncov rozsahu.

[^...] – každý jeden znak alebo postupnosť znakov uvedených v hranatých zátvorkách, okrem tých, ktoré sú uvedené za znakom záporu.

Príklad použitia:

Query.Text = //nájdi celú nomenklatúru, ktorá obsahuje koreň TABUR a začína //buď malým alebo veľkým písmenom t "SELECT | Nomenclature.Reference |FROM | Directory.Nomenclature AS Nomenclature |WHERE | Tovar.Name LIKE ""[Тт ]abur%""" ;

5. Dizajn POVOLENÝ- tento výpis umožňuje vybrať z databázy len tie záznamy, ku ktorým má volajúci právo čítať. Tieto práva sa konfigurujú na úrovni záznamu (RLS).

Syntax: Za kľúčovým slovom SELECT sa píše ALLOWED

Príklad použitia:

Query.Text = "VYBRAŤ POVOLENÉ | Protistrany. Referencia | Z | Adresár. Protistrany AKO Protistrany";

6. Konštrukcia RÔZNA- umožňuje vybrať záznamy, v ktorých nie sú žiadne opakované záznamy.

Syntax: Za kľúčovým slovom SELECT sa píše DIFFERENT

Príklad použitia:

Request.Text = //vyberie záznamy, ku ktorým má čitateľ práva "SELECT DIFFERENT | Counterparties.Name |FROM | Directory.Counterparties AS Counterparties" ;

Konštrukt DIFFERENT možno použiť aj s operátorom POVOLENÝ a inými operátormi.

Príklad použitia:

Query.Text = //vyberie rôzne záznamy, ku ktorým má čitateľ práva "VYBRAŤ POVOLENÉ INÉ | Dodávatelia.Názov |FROM | Adresár.Dodávatelia AS Dodávatelia";

7. Stavba PRVÝ- vyberie počet záznamov zadaný v parametri z výsledku dotazu.

Syntax: FIRST<число>

Príklad použitia:

Query.Text = //vyberte prvé 4 GTD čísla z adresára "SELECT THE FIRST 4 | GTD Numbers.Reference |FROM | Catalog.GTE Numbers AS GTD Numbers";

8. Dizajn PRE ZMENU- umožňuje uzamknúť tabuľku, funguje len v transakciách (relevantné len pre automatické zámky).

Syntax: PRE ZMENU<НаименованиеТаблицы>

Príklad použitia:

Query.Text = "SELECT | FreeRemainsRemains.Nomenklatúra, | FreeRemainsRemains.Warehouse, | FreeRemainsRemains.AvailableRemains |FROM | Akumulačný register.FreeRemains.Remains AS FreeRemainsRemains |NA ZMENU |

9. Štruktúra OBJEDNAŤ PODĽA- triedi údaje podľa konkrétneho poľa. Ak je pole odkaz, potom pri nastavovaní príznaku AUTOMATICKÁ OBJEDNÁVKA budú zoradené podľa reprezentácie odkazu, ak je príznak vypnutý, potom sa odkazy zoradia podľa seniority adresy odkazu v pamäti.

Syntax: TRIEDIŤ PODĽA<НаименованиеПоля>AUTOMATICKÁ OBJEDNÁVKA

Príklad použitia:

Query.Text = "SELECT | FreeRemainsRemains.Nomenclature AS Nomenklatúra, | FreeRemainsRemains.Warehouse AS Warehouse, | FreeRemainsRemains.In StockRemaining |FROM |

10. Dizajn GROUP BY- používa sa na zoskupenie reťazcov dopytov podľa určitých polí. Číselné polia sa musia použiť s akoukoľvek agregovanou funkciou.

Syntax: GROUP BY<НаименованиеПоля1>, .... , <НаименованиеПоляN>

Príklad použitia:

Query.Text = "SELECT | ItemsInWarehouse.Nomenclature AS Nomenklatúra, | ItemsInWarehouse.Warehouse, | SUM(ItemsInWarehouse.InStock) AS InStock |FROM |

11. Dizajn MAJÚCI- umožňuje aplikovať agregovanú funkciu na podmienku výberu údajov, podobne ako pri konštrukcii WHERE.

Syntax: MAJÚCE<агрегатная функция с условием>

Príklad použitia:

dotaz |SKUPINA PODĽA | Tovar v skladoch.Nomenklatúra, | Tovar v skladoch.Sklad | |MÁ | SUMA(Tovar v skladoch.Na sklade) > 3" ;

12. INDEX PODĽA konštrukcie- používa sa na indexovanie poľa dotazu. Dokončenie indexovaného dotazu trvá dlhšie, no zrýchľuje vyhľadávanie v indexovaných poliach. Dá sa použiť iba vo virtuálnych tabuľkách.

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

Príklad použitia:

Query.Text = "SELECT | Názov Tz.OS, | Číslo priečinka Tz, | Tz.CodeOS, | Tz.Term, | Tz.Type |PUT DataTz |OD | &Tz AKO Tz | | INDEX PODĽA | Názov Tz.OS , | Tz .CodeOS";

13. Stavba KDE- umožňuje uložiť podmienku na ľubovoľné polia výberu. Do výsledku budú zahrnuté len záznamy, ktoré spĺňajú podmienku.

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

Príklad použitia:

Query.Text = //vyberie všetky záznamy s CompensationRemainder<>0 a //AmountFor Calc.CompBalance > 100 "SELECT | Kompenzačné RPO zostatky.Účet, | Kompenzačné RPO zostatky.Dieťa, | Kompenzačné RPO zostatky. Kompenzačný zostatok, | Kompenzačné RPO zostatky. AmountFor Calc. Comp zostatok | PLACE DataTz |FROM | Register akumulácie Kompenzácia RP Zostatky AS Kompenzácia RPO Zostatky |<>0 | A zostatky kompenzácie RPO. Suma pre zostatok CalcComp > 100" ;

14. VÝSLEDKY dizajnu ... GENERÁLNE- slúži na výpočet súčtov, návrh špecifikuje polia, za ktoré sa budú vypočítavať súčty a agregované funkcie aplikované na súhrnné polia. Pri použití súčtov pre každé pole podľa konštrukcie TOTALS sú údaje zoskupené. Existuje voliteľný konštrukt GENERAL, jeho použitie poskytuje aj ďalšie zoskupovanie. Nižšie si môžete pozrieť príklad výsledku dopytu.

Syntax: VÝSLEDKY<АгрегатнаяФункция1, ... , АгрегатнаяФункцияN>ON<ОБЩИЕ> <Поле1, ... , ПолеN>

Príklad použitia:

Query.Text = "VYBERTE | Vyrovnania. Dohoda s protistranou. Typ dohody AS Typ zmluvy, | Vyrovnania. Dohoda s protistranou AS dohoda, | Vyrovnania. Protistrana, | Vyrovnania. Suma vzájomných vyrovnaní Zostatok AKO Zostatok | OD | | Softvér | VŠEOBECNÉ INFORMÁCIE, | Typ zmluvy";

Zoskupenia, ktoré sa vytvorili počas vykonávania požiadavky, sú na obrázku zakrúžkované, horná časť odkazuje na sekciu GENERAL a druhá na pole ContractContractorTypeContract.

Napriek všetkým nedostatkom je vyhľadávanie v textovom poli stále jedným z najobľúbenejších. S reťazcovými dátovými typmi sa môžeme stretnúť všade – v tomto formáte môžu byť uložené mená, čísla účtov, adresy a ďalšie informácie. V otázkach v vstavanom jazyku 1C, pre pohodlie vývojárov, špeciálny operátor"PÁČI SA MI TO". Ide o jeden z najpoužívanejších príkazov, takže bez dôkladnej znalosti jeho syntaxe a možností bude programátor pracovať len ťažko.

Pomocou operátora „LIKE“.

Predtým, ako zavediete akýkoľvek operátor do praxe, musíte jasne pochopiť jeho účel, miesta použitia a syntax. Účelom použitia „LIKE“ v dotaze 1C je skontrolovať splnenie podmienky prezentovanej ako šablóna. Návratová hodnota je boolovská, pravda alebo nepravda, čo naznačuje, či je zadaná podmienka splnená. Operátor LIKE je možné použiť na niekoľkých miestach v dotaze:

  • V bloku podmienok označených kľúčové slovo"KDE";
  • V konštrukcii Choice When Then Else End;
  • Priamo vo výberových poliach, ako výsledok porovnania polí.

Syntax šeku je vždy rovnaká a pozostáva z 3 odkazov. Naľavo je textová hodnota, ktorá sa kontroluje, potom samotný operátor „LIKE“ a napravo je kontrolovaná šablóna. Pre rýchle a pohodlné vytváranie šablón existujú špeciálne symboly, ktoré uľahčujú vývoj:

  1. "%" - postupnosť ľubovoľných znakov ľubovoľná dĺžka. Používa sa na vyhľadávanie jednotlivých slov alebo čísel v reťazci;
  2. "_" je ľubovoľný jeden znak. Navrhnuté na označenie prítomnosti jedného znaku;
  3. "[...]" je postupnosť znakov na porovnanie so znamienkom v reťazci. Pomocou takéhoto vzoru sa skontroluje zhoda pre ktorýkoľvek zo znakov uvedených v zátvorkách. Môžete tiež určiť rozsah čísel alebo písmen ([a-g], );
  4. „[^…]“ je opakom predchádzajúceho vzoru. Kontroluje sa rozdiel medzi znakom uvedeným v reťazci a znakmi uvedenými v zátvorkách.

Aby sme si lepšie osvojili a pochopili princípy vytvárania správnych šablón, pozrime sa na niekoľko príkladov, s ktorými sa vývojári často stretávajú v živote. Prvý z nich je, keď potrebujeme vybrať z nomenklatúrnej príručky všetky pozície, v názvoch ktorých sa vyskytuje slovo "CUTTER". V tomto prípade musíme v podmienkach dotazu použiť LIKE:

SELECT Nomenclature.Name AS Name FROM Directory.Nomenclature AS Nomenclature WHERE Nomenclature.Name LIKE "%CUTTER%"

Ak odstránime oba znaky „%“, dopyt zobrazí nomenklatúru, v ktorej sa názov úplne zhoduje s názvom uvedeným v úvodzovkách. Ak ponecháme šablónu „CUTTER%“ alebo „%CUTTER“, výsledkom bude zoznam nomenklatúry končiacej, resp. začínajúcej danou kombináciou znakov.


Poďme analyzovať problém, ktorý môže zmiasť začínajúcich programátorov, ktorí nepoznajú syntax dotazu. Povedzme, že potrebujete nájsť celú nomenklatúru, v názve ktorej je symbol „%“. Najmä pre prípady, keď potrebujete vyhľadať vyhradené znaky, je tu operátor „špeciálny znak“. Ako špeciálny znak môžete použiť #, \, /, ~ a ďalšie znaky, po ktorých budú všetky vyhradené znaky jednoducho označovať znak.

SELECT Nomenklatúra.Názov AS Názov Z adresára.Nomenklatúra AS Nomenklatúra WHERE Nomenklatúra.Názov LIKE "%#%" ŠPECIÁLNY CHARAKTER "#"

Ak potrebujete použiť parameter vo vyhľadávaní, tak sa premenná v dotaze s parametrom LIKE použije pridaním. Pamätajte, že parameter musí byť typu reťazca, inak ho budete musieť previesť na reťazec v požiadavke. Ide o pomerne komplikovanú operáciu a je lepšie ju vopred vylúčiť.

SELECT Nomenclature.Name AS Name FROM Lookup.Nomenclature AS Nomenclature WHERE Nomenclature.Name LIKE "%" + &name + "%"

Funkcia LIKE je použiteľná vo všetkých verziách platformy od 8 a vzhľadom na jej použiteľnosť ju vývojári 1C nebudú chcieť meniť. Textové vyhľadávanie samozrejme vždy závisí od presnosti zadania mena, no stále zostáva jedným z najbežnejších. V tomto ohľade musia profesionálni vývojári 1C študovať používanie LIKE so všetkými jeho nuansami.

43
NULL - chýbajúce hodnoty. Nezamieňať s null! NULL nie je číslo, nerovná sa medzera, nulový odkaz, nedefinované. NULL je typotvorná hodnota, t.j. existuje typ NULL a jedna hodnota tohto typu. NULOVÝ... 26
Na vytváranie a vykonávanie dotazov na databázové tabuľky na platforme 1C sa používa špeciálny objekt programovacieho jazyka Request. Tento objekt je vytvorený volaním konštrukcie New Request. Pohodlná požiadavka... 18
Článok poskytuje užitočné triky pri práci s dopytmi 1C v.8.2, ako aj informácie, ktoré nie sú až tak známe o jazyku dopytov. Nesnažím sa dávať Celý popis dopytovací jazyk, ale chcem sa zamerať iba na ... 12
Pred úlohou bolo potrebné vybrať všetky doklady pre platbu a zoskupiť ich podľa typu dokladu! Pri pohľade na všetky bytové a komunálne služby a internet som si to uvedomil ľahká cesta získať typ dokumentu v žiadosti č:(Musel som...

Operátor PÁČI SA MI TO umožňuje v dotaze porovnať údaje typu reťazec naľavo od operátora s údajmi typu reťazec napravo od operátora. Výsledok porovnania je pravda alebo nepravda, takže porovnanie možno použiť ako podmienku.

Pre operátora PÁČI SA MI TO sú poskytované špeciálne servisné znaky, ktoré nie sú vnímané ako reťazec:

  • Symbol percenta "%": označuje prítomnosť ľubovoľného počtu ľubovoľných znakov v reťazci
  • "[...]" jeden alebo viac znakov v hranatých zátvorkách: označuje prítomnosť ktoréhokoľvek (jediného) z uvedených znakov. Tiež je možné zadať rozsah znakov (napríklad )
  • Znak podčiarknutia „_“: označuje prítomnosť ľubovoľného znaku
  • Negačný znak "[^...]": označuje prítomnosť akéhokoľvek jedného znaku okrem znakov v hranatých zátvorkách
Ak potrebujete špecifikovať jeden z vyššie uvedených špeciálnych znakov na porovnanie, musíte použiť kľúčové slovo "ŠPECIÁLNY CHARACTER"

Vlastnosti použitia s rôznymi DBMS

IBM DB2" Napravo od operátora LIKE môže byť umiestnený iba parameter. Jedinými zástupnými znakmi sú "_" (podčiarkovník znamená ľubovoľný znak) a "%" (percento znamená postupnosť ľubovoľných znakov).
V prípade použitia DBMS " PostgreSQL"alebo" Oracle Database"špeciálne znaky "hranaté zátvorky [...]" sú akceptované iba vtedy, ak sú špecifikované textom v požiadavke, a NIE sú odovzdané ako parameter do požiadavky.

V súborovej základni teda budú špeciálne znaky vždy vnímané rovnakým spôsobom a rôznymi spôsobmi, v závislosti od DBMS použitej vo verzii klient-server.

Príklad: vyberte produkty obsahujúce v názve symbol „%“.

VYBERTE SI | Referenčný odkaz | OD | Spravochnik.Nomenklatúra AKO ref | KDE | Názov referencie AKO "%\%" ŠPECIÁLNY CHARAKTER "\"

Príklad: vyberte produkty, ktorých názov začína slovom „Tank“

VYBERTE SI | Referenčný odkaz | OD | Spravochnik.Nomenklatúra AKO ref | KDE | Názov referencie LIKE "Buck%"

Príklad: vyberte produkty, ktorých názov končí číslom

VYBERTE SI | Referenčný odkaz | OD | Spravochnik.Nomenklatúra AKO ref | KDE | Názov referencie LIKE "%"