Zahteva vsebuje 1c. Podobno kot pri poizvedbenih pogojih. Primer: izberite izdelke, katerih imena se končajo s številko

Operator SIMILAR v poizvedbi preveri vrednosti nizov iz tabel glede podobnosti z vzorcem.
Uporablja se na naslednji način: niz, ki ga je treba preveriti, se postavi na levo od tega operatorja, vzorec pa na desno.

Po preverjanju vrne True ali False, se aktivno uporablja v pogojih.
Za ustvarjanje predloge se uporabljajo naslednji servisni znaki:

  • % (odstotek) - zaporedje, ki vsebuje poljubno število poljubnih znakov
  • _ (podčrtaj) - en poljuben znak
  • […] (eden ali več znakov v oglatih oklepajih) – vsak posamezen znak, naveden v oglatih oklepajih
    Poleg različnih simbolov lahko uporabite tudi obsege, na primer a-z(A-z), kar pomeni prisotnost poljubnega simbola, vključenega v obseg, vključno s konci obsega.
  • [^...] (v oglatih oklepajih znak za zanikanje, ki mu sledi en ali več znakov) – kateri koli posamezen znak, razen tistih, navedenih za znakom za zanikanje

Preostali simboli se uporabljajo za predvideni namen.
Če je treba enega od zgornjih servisnih znakov prenesti kot simbol, mora biti pred njim<Спецсимвол>. sebe<Спецсимвол>(kateri koli primeren znak) je definiran v istem stavku za ključno besedo SPECIAL CHARACTER.
Na primer, vzorec “%ABV[abvg]\_abv%” POSEBNI ZNAK “\” pomeni podniz, sestavljen iz zaporedja znakov:
črke A; črke B; črke B; ena številka; ena od črk a, b, c ali d; podčrtaj; črke a; črke b; črke v.
Še več, pred tem zaporedjem je lahko poljuben niz znakov.

Postopek Izberite AgreementContainingInNameText(mText)
//V zahtevi bomo uporabili predlogo, kot je "%" + mText + "%" Zahteva = Nova zahteva; Query.SetParameter("Ime", "%" + Besedilo + "%"); Request.Text = "IZBERI | Sporazumi. Povezava, | Sporazumi. Lastnik | FROM | Imenik. Pogodbe nasprotnih strank AS Sporazumi | | KJE | Sporazumi. Ime PODOBNO & Ime"; Rezultat = Query.Run(); Izbira = Rezultat.Izberi(); Poročilo("Pogodbe, ki v imenu vsebujejo: " + mText + ", imajo naslednje nasprotne stranke"); Medtem ko Selection.Next() Cycle Report("Counterparty: " + Selection.Owner + "; Agreement: " + Selection. Link EndIf; EndProcedure

V tem članku želimo z vami razpravljati o vsem Funkcije poizvedovalnega jezika 1C, in konstrukcije poizvedovalnega jezika. Kakšna je razlika med funkcijo in dizajnom? Funkcijo pokličemo z oklepaji in možnimi parametri v njih, konstrukcijo pa zapišemo brez oklepajev. Nedvomno vse strukture in funkcije poizvedovalnega jezika 1C narediti postopek pridobivanja podatkov fleksibilen in večnamenski. Te funkcije in konstrukcije veljajo za polja zahtev, nekatere pa tudi za pogoje.

Funkcije poizvedovalnega jezika 1C

Ker jasen opis Funkcije poizvedovalnega jezika 1C je veliko manj pogost kot opisi struktur, smo se odločili, da začnemo preučevati funkcije. Zdaj pa si oglejmo vsakega posebej, z opisom njegovega namena, sintakse in primera uporabe, torej:

1. funkcija DATUM ČAS - to funkcijo ustvari stalno polje tipa "Datum".

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

Primer uporabe:

2. Funkcija DATE DIFFERENCE- vrne razliko med dvema datumoma v eni od dimenzij (leto, mesec, dan, ura, minuta, sekunda). Meritev se posreduje kot parameter.

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

Primer uporabe:

Query.Text = "IZBERI | RAZLIČNI DATUM(DATUMČAS(2015, 4, 17), DATUMČAS(2015, 2, 1), DAN) | AS Kol.dni";

3. Funkcija VALUE- nastavi konstantno polje z vnaprej določenim zapisom iz baze lahko dobi tudi prazno povezavo katere koli vrste.

Sintaksa: VALUE(<Имя>)

Primer uporabe:

Request.Text = "IZBERI //predefiniran element | VALUE(Directory.Currencies.Dollar) AS Dollar, //prazna povezava | VALUE(Document.Receipt of Goods and Services.EmptyLink) AS Potrdilo, //transfer value | VALUE(Transfer . Pravna oseba. Posameznik) AS Posameznik, //predefiniran račun VALUE(Kontni načrt. Samoobračunski materiali) AS Account_10" ;

4. SELECT funkcijo- pred nami je analog konstrukcije IF, ki se uporablja v kodi, le ta se uporablja v poizvedbah 1C.

Sintaksa: IZBIRA KDAJ<Выражение>POTEM<Выражение>DRUGAČE<Выражение>KONEC

Primer uporabe:

Request.Text = //če je znesek večji od 7500, bi moral biti popust 300 rubljev, //torej, če se sproži pogoj, potem funkcija //vrne Sum - 300 //v nasprotnem primeru bo zahteva vrnila preprosto Sum "IZBERI | IZBERI | KO TCReceipts.Amount > 7500 | THEN TCReceipts.Amount - 300 | DRUGAČE TCReceipts.Amount | KONEC KOT Znesek s popustom | OD |

5. funkcija EXPRESS- omogoča izražanje konstantnega polja z določeno vrsto.

Sintaksa: EXPRESS(Ime polja AS Ime vrste)

Primer uporabe:

Query.Text = "IZBERI RAZLIČNO | Številka.prodajnega.registrarja, | IZBERI | KO POVEZAVA prodajnega.registrarja Document.Consumable | THEN EXPRESS(Sales.Registrar AS Document.Consumable) | ALSE SELECT | WHEN Sales.Registrar LINK Document.Implementation | THEN EXPRESS(Sales.Registrar AS Document.Implementation) |. END AS Number |. Register AS Purchases";

Ali obstaja še kakšna možnost za uporabo funkcije EXPRESS v poljih mešanih tipov, kje se pojavljajo? Najenostavnejši primer je "Registrar" za kateri koli register. Zakaj bi torej morda morali kvalificirati vrsto v registrarju? Poglejmo situacijo, ko v registrarju izberemo polje "Številka", iz katere tabele bo izbrana številka? Pravilen odgovor vseh! Da bi torej naša poizvedba delovala hitro, bi morali podati eksplicitno vrsto s funkcijo EXPRESS

Primer uporabe:

Query.Text = "SELECT | EXPRESS(Nomenclature.Comment AS Line(300)) AS Comment, | EXPRESS(Nomenclature.Sum AS Number(15,2)) AS Sum |FROM | Directory.Nomenclature AS Nomenclature";

6. Funkcija ISNULL(alternativno črkovanje ISNULL) - če je polje tipa NULL, se nadomesti z drugim parametrom funkcije.

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

Primer uporabe:

Upoštevajte tudi, da je priporočljivo VEDNO zamenjati tip NULL z neko vrednostjo, ker primerjava s tipom NULL vedno vrne FALSE, tudi če primerjate NULL z NULL. Najpogosteje se vrednosti NULL oblikujejo kot rezultat združevanja tabel (vse vrste združevanj, razen notranjih).

Query.Text = //Izberi celotno postavko in njena stanja //če v neki postavki ni stanja, potem bo polje //NULL, ki bo nadomeščeno z vrednostjo 0 "IZBERI | Št. Povezava, | ISNULL (ProductsInStockRemaining, 0) AS Directory.Nomenclature AS No. |. RegisterAccumulations.GoodsInWarehousesRemainings | PO (GoodsInWarehousesRemainings = No.Link)";

7. REPRESENTATION funkcija- vam omogoča, da dobite predstavitev polja zahteve.

Sintaksa: IZVEDBA(<НаименованиеПоля>)

Primer uporabe:

Query.Text = "SELECT | REPRESENTATION(FreeRemainingRemains.Nomenclature) AS Nomenclature, | REPRESENTATION(FreeRemainingRemaining.Warehouse) AS Warehouse, | FreeRemainingRemaining.InStockRemaining |FROM |Register kopičenja.FreeRemaining.Remaining AS FreeRemainingRemaining ";

Konstrukcije v poizvedovalnem jeziku 1C

Zgoraj smo razpravljali z vami Funkcije poizvedovalnega jezika 1C, zdaj je čas za razmislek konstrukcije v poizvedovalnem jeziku 1C, niso nič manj pomembni in uporabni, začnimo.

1. Gradnja LINK- je logični operator za preverjanje referenčnega tipa. Najpogosteje se pojavi pri preverjanju polja kompleksne vrste glede na določeno vrsto. Sintaksa: POVEZAVA<Имя таблицы>

Primer uporabe:

Request.Text = //če je vrsta vrednosti zapisovalnika dokument Prejem, //potem bo poizvedba vrnila "Prejem blaga", v nasprotnem primeru "Prodaja blaga" "IZBERI | IZBERI | KO Ostanki.Registrar LINK Dokument.Prejem blaga in Storitve |. "Potrošnja" |. Preostali proizvodi v skladiščih |.

2. Design BETWEEN - tega operaterja preveri, ali je vrednost znotraj podanega območja.

Sintaksa: MED<Выражение>IN<Выражение>

Primer uporabe:

Request.Text = //pridobite celotno nomenklaturo, katere koda je v območju od 1 do 100 "SELECT | Nomenclature.Link |FROM | Imenik.Nomenclature AS Nomenclature |WHERE | Nomenclature.Code BETWEEN 1 AND 100" ;

3. Konstrukcija B in B HIERARHIJA- preverimo, ali je vrednost v prenesenem seznamu (matrike, tabele vrednosti itd. lahko prenesemo kot seznam). Operator V HIERARHIJI omogoča vpogled v hierarhijo (primer uporabe kontnega načrta).

Sintaksa: IN(<СписокЗначений>), V HIERARHIJI(<СписокЗначений>)

Primer uporabe:

Request.Text = //izberite vse podračune računa "IZBERI | Samonosno. Povezava AS Račun | OD | Kontni načrt. Samonosno AS Samonosno | KJE | Samonosno. Povezava V HIERARHIJI VREDNOST (Tabela Računi. Samonosno blago)";

4. Oblikovanje PODOBNO- Ta funkcija nam omogoča primerjavo niza z vzorcem niza.

Sintaksa: VŠEČ "<ТекстШаблона>"

Možnosti vzorca vrstic:

% - zaporedje, ki vsebuje poljubno število poljubnih znakov.

En poljuben znak.

[...] - vsak posamezen znak ali zaporedje znakov, navedenih v oglatih oklepajih. Oštevilčenje lahko določa obsege, na primer a–z, kar pomeni poljuben znak, vključen v obseg, vključno s konci obsega.

[^...] - vsak posamezen znak ali zaporedje znakov, navedenih v oglatih oklepajih, razen tistih, navedenih za znakom za negiranje.

Primer uporabe:

Query.Text = //poiščite celotno nomenklaturo, ki vsebuje koren TABUR in se začne //bodisi z malo ali veliko črko t "SELECT | Nomenklatura. Povezava | FROM | Imenik. Nomenklatura KOT Nomenklatura | WHERE | Izdelki. Ime LIKE "" [Tt ]abur%""" ;

5. Dizajn DOVOLJEN- ta operater omogoča izbiro samo tistih zapisov iz baze podatkov, za katere ima klicatelj dovoljenje za branje. Te pravice so konfigurirane na ravni zapisa (RLS).

Sintaksa: DOVOLJENO je zapisano za ključno besedo IZBERI

Primer uporabe:

Request.Text = "IZBERI DOVOLJENO | Nasprotne stranke. Povezava | IZ | Imenik. Nasprotne stranke KOT Nasprotne stranke";

6. Oblikovanje RAZLIČNO- omogoča izbiro zapisov, v katerih ni podvojenih zapisov.

Sintaksa: VARIOUS je zapisano za ključno besedo SELECT

Primer uporabe:

Request.Text = //izbere zapise, do katerih ima bralec pravice "SELECT VARIOUS | Counterparties.Name |FROM | Imenik. Counterparties AS Counterparties" ;

Tudi konstrukcijo VARIOUS je mogoče uporabiti z operatorjem ALLOWED in drugimi operatorji.

Primer uporabe:

Request.Text = //izbere različne zapise, do katerih ima bralec pravice "IZBERI DOVOLJENE RAZLIČNE | Nasprotne stranke.Ime |FROM | Imenik. Nasprotne stranke KOT Nasprotne stranke";

7. Design FIRST- iz rezultata poizvedbe izbere število zapisov, navedenih v parametru.

Sintaksa: FIRST<число>

Primer uporabe:

Request.Text = //izberi prve 4 številke CCD iz imenika "IZBERI PRVE 4 | Številke CCD. Povezava | FROM | Imenik. Številke CCD KOT številke CCD";

8. Dizajn ZA SPREMEMBE- omogoča zaklepanje tabele, deluje samo v transakcijah (relevantno samo za avtomatske ključavnice).

Sintaksa: ZA SPREMEMBO<НаименованиеТаблицы>

Primer uporabe:

Query.Text = "IZBERI | Brezplačni preostanki Preostanki. Nomenklatura, | Brezplačni preostanki Preostanki. Skladišče, | Brezplačni preostanki Preostanki. Na zalogi Preostali | OD | Register akumulacij. Brezplačni preostanki. Ostanki KOT Prosti preostanki Preostanki | ZA SPREMEMBO | Register akumulacij . Brezplačni preostanki";

9. Dizajn ORDER BY- ureja podatke po določenem polju. Če je polje povezava, potem pri nastavitvi zastavice AVTO NAROČILO Razvrščanje bo potekalo po predstavitvi povezave; če je zastavica izklopljena, bodo povezave razvrščene po starosti naslova povezave v pomnilniku.

Sintaksa: RAZVRSTI PO<НаименованиеПоля>AVTO NAROČILO

Primer uporabe:

Query.Text = "IZBERI | Brezplačni preostali preostanki. Nomenklatura KOT Nomenklatura, | Brezplačni preostanki Preostanki. Skladišče KOT Skladišče, | Brezplačni preostanki Preostanki. Na zalogi Preostali | OD | Registrirajte akumulacije. Brezplačni preostanki. Preostali KOT Brezplačni preostali preostanki | | NAROČI PO |. Nomenklatura |. SAMODEJNO BRANJE NAROČILA";

10. Oblikovanje GROUP BY- uporablja se za združevanje nizov poizvedb po določenih poljih. Številska polja je treba uporabiti s katero koli agregatno funkcijo.

Sintaksa: ZDRUŽI PO<НаименованиеПоля1>, .... , <НаименованиеПоляN>

Primer uporabe:

Query.Text = "SELECT | ProductsInWarehouses.Nomenclature AS Nomenclature, | ProductsInWarehouses.Warehouse, | SUM(GoodsInWarehouses.InStock) AS STOCK |FROM | RegisterAccumulations.ProductsInWarehouses AS ProductsInWarehouses | |GROUP BY | ProductsInWarehouses.Nomenclature, |treasures.Warehouse ";

11. Oblikovanje HAVING- omogoča uporabo agregatne funkcije za pogoj izbire podatkov, podobno konstrukciji WHERE.

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

Primer uporabe:

Query.Text = //izbere združene zapise, kjer je polje InStock večje od 3 "SELECT | ItemsInStocks.Nomenclature AS Nomenclature, | ItemsInWarehouses.Warehouse, | SUM(ItemsInStocks.InStock) AS INSTOCK |FROM | RegisterAccumulations.ItemsInStocks AS ItemsInStocks | | GROUP BY |. ProductsInWarehouses.Warehouse |. AMOUNT (ProductsInWarehouses.In Stock) > 3" ;

12. Gradnja INDEX BY- uporablja se za indeksiranje poizvedbenega polja. Poizvedba z indeksiranjem traja dlje, vendar pospeši iskanje po indeksiranih poljih. Lahko se uporablja samo v virtualnih tabelah.

Sintaksa: INDEKS PO<Поле1, ... , ПолеN>

Primer uporabe:

Query.Text = "SELECT | Ts.NameOS, | Ts.FolderNumber, | Ts.CodeOS, | Ts.Term, | Ts.Type | PLACE DataTs | FROM | &Ts AS Ts | | INDEX BY | Ts.NameOS, | Ts .CodeOS";

13. Oblikovanje KJE- omogoča, da določite pogoj za poljubna izbirna polja. Rezultat bo vseboval le zapise, ki bodo izpolnjevali pogoj.

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

Primer uporabe:

Query.Text = //izbrani so vsi zapisi s CompensationRemaining<>0 in //AmountForCalcCompRemaining > 100 "SELECT | CompensationRPORemains.Counterparty, |CompensationRPORemains.Child, | CompensationRPORemains.CompensationRemaining, | CompensationRPORemains.AmountForCalcCompRemains |Place DataTz |FROM | Register kopičenja.CompensationRP.Remains AS Compens ationRPORemains |WHERE |CompensationRPORemaining.CompensationRemaining<>0 | In CompensationRPORemains.AmountForCalcCompRemaining> 100" ;

14. REZULTATI oblikovanja... SPLOŠNO- uporablja se za izračun seštevkov, zasnova določa polja, po katerih bodo izračunane vsote in agregatne funkcije uporabi za polja povzetka. Pri uporabi vsot za vsako polje, ki sledi konstrukciji TOTAL, so podatki združeni. Obstaja neobvezen konstrukt GENERAL, njegova uporaba zagotavlja tudi dodatno združevanje. Spodaj boste videli primer rezultata zahteve.

Sintaksa: REZULTATI<АгрегатнаяФункция1, ... , АгрегатнаяФункцияN>BY<ОБЩИЕ> <Поле1, ... , ПолеN>

Primer uporabe:

Request.Text = "IZBERI | Izračuni. Pogodba nasprotne stranke. Vrsta pogodbe AS Vrsta pogodbe, | Izračuni. Pogodba nasprotne stranke AS Pogodba, | Izračuni. Nasprotna stranka, | Izračuni. Znesek stanja medsebojne poravnave AS stanja | OD | Register akumulacij. Vzajemna Poravnava Z nasprotnimi strankami. Izračuni SKUPAJ |. SPLOŠNO, |Vrsta pogodbe"

Na sliki so prikazane skupine, ki so se oblikovale med izvajanjem zahteve, zgornja se nanaša na razdelek SPLOŠNO, druga pa na polje Counterparty AgreementAgreement Type.

Kljub vsem pomanjkljivostim je iskanje po besedilnem polju še vedno eno najbolj priljubljenih. Podatkovne tipe nizov najdemo povsod – v tej obliki so lahko shranjena imena, številke računov, naslovi in ​​tudi druge informacije. Za udobje razvijalcev se uporabljajo poizvedbe v vgrajenem jeziku 1C posebni operater"VŠEČ". To je eden najpogosteje uporabljanih ukazov, zato bo programer brez temeljitega poznavanja njegove sintakse in zmožnosti težko delal.

Uporaba operatorja LIKE

Pred uporabo katerega koli operatorja v praksi morate jasno razumeti njegov namen, mesta uporabe in sintakso. Namen uporabe »Všeč mi je« v zahtevi 1C je preveriti izpolnjevanje pogoja, predstavljenega kot predloga. Vrnjena vrednost je logični tip - true ali false - ki označuje, ali je navedeni pogoj resničen. Operator LIKE lahko uporabite na več mestih v poizvedbi:

  • V bloku pogojev označeno ključna beseda"KJE";
  • V zasnovi Choice When Then Overwise End;
  • Neposredno v izbirnih poljih, kot rezultat primerjave polj.

Sintaksa preverjanja je vedno enaka in je sestavljena iz 3 povezav. levo vrednost besedila, ki se preverja, nato sam operator “LIKE”, desno pa je predloga, po kateri se preverjanje izvaja. Za hitro in preprosto ustvarjanje predlog so na voljo Posebni simboli, ki olajša razvoj:

  1. “%” – zaporedje poljubnih znakov poljubna dolžina. Uporablja se za iskanje posameznih besed ali številk v nizu;
  2. “_” – poljuben posamezen znak. Namenjen označevanju prisotnosti enega samega znaka;
  3. “[...]” je zaporedje znakov za primerjavo z znakom v nizu. S pomočjo takega vzorca se preveri ujemanje s katerim koli znakom, navedenim v oklepajih. Določite lahko tudi obseg številk ali črk ([a-g], );
  4. “[^...]” je nasprotni vzorec od prejšnjega. Preveri se razlika med znaki, navedenimi v vrstici, in tistimi, navedenimi v oklepajih.

Da bi bolje razumeli in razumeli načela ustvarjanja pravilnih predlog, si oglejmo nekaj primerov, ki se pogosto srečujejo v življenju razvijalcev. Prvi je, ko moramo iz nomenklaturnega imenika izbrati vse artikle, v imenih katerih se pojavi beseda “CUTTER”. V tem primeru moramo v pogojih poizvedbe uporabiti LIKE:

SELECT Nomenclature.Name AS Name FROM Directory.Nomenclature AS Nomenclature WHERE Nomenclature.Name SIMILAR to "% CUTTER%"

Če odstranimo oba simbola »%«, bo poizvedba prikazala izdelek, katerega ime se popolnoma ujema z navedenim v narekovajih. Če pustimo predlogo »CUTTER%« ali »% CUTTER«, bo rezultat seznam elementov, ki se konča oziroma začne z dano kombinacijo znakov.


Oglejmo si težavo, ki lahko zmede programerje začetnike, ki ne poznajo sintakse poizvedbe. Recimo, da morate poiskati vse elemente, ki imajo v imenu simbol »%«. Zlasti za primere, ko morate iskati rezervirane znake, obstaja operator "posebni znak". #,\,/,~ in druge znake lahko uporabite kot posebne znake, za katerimi bodo vsi rezervirani znaki preprosto označevali znak.

SELECT Nomenclature.Name AS Name FROM Directory.Nomenclature AS Nomenclature WHERE Nomenclature.Name SIMILAR to "%#%" POSEBNI ZNAK "#"

Če morate pri iskanju uporabiti parameter, se spremenljivka v poizvedbi s parametrom SIMILAR uporabi z dodajanjem. Ne pozabite, da mora biti parameter vrste niz, sicer ga boste morali pretvoriti v niz v zahtevi. To je precej zapletena operacija in jo je bolje izključiti vnaprej.

SELECT Nomenclature.Name AS Name FROM Directory.Nomenclature AS Nomenclature WHERE Nomenclature.Name SIMILAR to "%" + &name + "%"

Funkcija SIMILAR je uporabna v vseh različicah platforme, od 8 naprej, in zaradi njene uporabnosti je razvijalci 1C ne bodo želeli spreminjati. seveda, iskanje besedila vedno odvisno od točnosti vnosa imena, vendar še vedno ostaja eden najpogostejših. V zvezi s tem morajo profesionalni razvijalci 1C preučiti uporabo SIMILARja z vsemi njegovimi odtenki.

43
NULL – manjkajoče vrednosti. Ne sme se zamenjevati z vrednostjo nič! NULL ni število, ni enako presledku, praznemu sklicu ali Nedefinirano. NULL je tipotvorna vrednost, tj. obstaja tip NULL in ena sama vrednost tega tipa. NIČ... 26
Za ustvarjanje in izvajanje poizvedb v tabele baze podatkov na platformi 1C se uporablja poseben predmet programskega jezika Query. Ta objekt je ustvarjen s klicem konstrukcije New Request. Priročna zahteva... 18
Članek ponuja uporabne tehnike pri delu s poizvedbami 1C v.8.2, pa tudi informacije, ki o jeziku poizvedb niso tako dobro znane. Ne poskušam dajati Celoten opis poizvedbeni jezik, vendar se želim osredotočiti samo na ... 12
Imel sem nalogo izbrati vse plačilne dokumente in jih združiti po vrstah dokumentov! Ko sem pregledal vse stanovanjske in komunalne storitve ter internet, sem to ugotovil preprost način get Vrsta dokumenta ni v zahtevi:(moral sem ...

Operater Všeč mi je omogoča primerjavo podatkov tipa niz v poizvedbi, ki se nahaja levo od operatorja, s podatki tipa niza, ki se nahajajo desno od operatorja. Rezultat primerjave je ovrednoten na True ali False, zato je primerjavo mogoče uporabiti kot pogoj.

Za operaterja Všeč mi je Obstajajo posebni storitveni znaki, ki jih ne zaznamo kot niz:

  • »%« odstotni simbol: označuje prisotnost poljubnega števila poljubnih znakov v nizu
  • "[...]" en ali več znakov v oglatih oklepajih: označuje prisotnost katerega koli (enega) od navedenih znakov. Določite lahko tudi vrsto znakov (na primer)
  • Podčrtaj »_«: označuje prisotnost poljubnega znaka
  • Negacijski znak "[^...]": označuje prisotnost katerega koli posameznega znaka, razen tistih, navedenih v oglatih oklepajih
Če morate za primerjavo določiti enega od zgornjih posebnih znakov, morate uporabiti ključno besedo "SPECIAL SYMBOL"

Značilnosti uporabe z različnimi DBMS

IBM DB2"Samo parameter je mogoče postaviti desno od operatorja SIMILAR. Edina nadomestna znaka sta "_" (podčrtaj pomeni poljuben znak) in "%" (odstotek pomeni zaporedje poljubnih znakov).
V primeru uporabe DBMS " PostgreSQL" ali " Oracle Database"posebni znaki" oglati oklepaji[...]" so sprejeti samo, če so določeni v besedilu v zahtevku in NE bodo posredovani kot parameter zahtevku.

Tako bodo v datotečni bazi podatkov posebni znaki vedno zaznani na enak način in različno, odvisno od DBMS, ki se uporablja v različici odjemalec-strežnik.

Primer: izberite izdelke, ki v imenu vsebujejo simbol »%«.

IZBERI | Ref.povezava |OD | Imenik Nomenklatura KAKO Ref | Ref.Name KOT "%\%" POSEBNI ZNAK "\"

Primer: izberite izdelke, katerih imena se začnejo z besedo "Tank"

IZBERI | Ref.povezava |OD | Imenik Nomenklatura KAKO Ref | Ref. ime, PODOBNO "Bak%"

Primer: izberite izdelke, katerih imena se končajo s številko

IZBERI | Ref.povezava |OD | Imenik Nomenklatura KAKO Ref | Ref. ime PODOBNO "%"