1s 8 je sličan u zahtjevu. Slično uvjetima upita. Korištenje operatora "like".

Pogledajmo svrhu i upotrebu uvjetnog operatora LIKE (eng. LIKE) u 1C upitnom jeziku u primjerima.

Brzi prolaz

Svrha

Provjerite odgovara li vrijednost niza u zahtjevu navedenom uzorku - vraća Booleovu vrijednost (TRUE ili FALSE).

  • Provjera je neovisna o malim i malim slovima.
  • Upit koristi indekse tablica—ne odnose se na indekse pretraživanja cijelog teksta.
  • Za dovršetak velikih stolova može trebati puno vremena.
  • Nizovi neograničene duljine trebaju se pretvoriti pomoću funkcije SUBSTRING

Mjesta upotrebe

  • U uvjetima operatora WHERE
  • U projektnim uvjetima IZBOR KADA<>ONDA "" OSTALI "" KRAJ
  • U poljima za odabir (na primjer: Naziv LIKE &ParametarSličan StringSuitable)

Opis sintakse LIKE operatora

Parametar operatora mora biti niz: može se navesti kao konstanta ili proslijediti kao parametar zahtjeva.

Dolje navedeni literali (maske) mogu se koristiti zajedno ili odvojeno.

Točna specifikacija niza

IZABERITE prvih 10
Ključevi.Ime
IZ
Imenik.Ključevi KAO ključevi
GDJE
Keys.Name SLIČNO "1" // Ekvivalent Keys.Name ="1"

Proizlaziti:

% je doslovno značenje proizvoljnog broja bilo kojih znakova

IZABERITE prvih 10
Ključevi.Ime
IZ
Imenik.Ključevi KAO ključevi
GDJE
Tipke. Naziv KAO "%"

Proizlaziti: bilo kojih 10 stavki

_ (podvlaka): literal koji odgovara bilo kojem znaku

Primjer #1:

IZABERITE prvih 10
Ključevi.Ime
IZ
Imenik.Ključevi KAO ključevi
GDJE
Tipke. Naziv KAO "_"

Primjer #2: počevši od bilo kojeg znaka, nakon čega slijedi "1", a zatim bilo koji znak

IZABERITE prvih 10
Ključevi.Ime
IZ
Imenik.Ključevi KAO ključevi
GDJE
Tipke. Naziv SLIČAN "_1%"

Proizlaziti:

(jedan ili više znakova u uglatim zagradama)

  • Svaki literal koji odgovara bilo kojem znaku koristi se kao ILI.
    Prihvatljivo je navesti raspon, na primjer a-z,0-5, što znači proizvoljni znak iz navedenog raspona

Primjer

IZABERITE prvih 10
Ključevi.Ime
IZ
Imenik.Ključevi KAO ključevi
GDJE
Tipke. Naziv SLIČAN "[l]%"

Proizlaziti: 10 koje počinju sa "l" ili "z"

Primjer: počevši od 5,6,7

IZABERITE prvih 10
Ključevi.Ime
IZ
Imenik.Ključevi KAO ključevi
GDJE
Tipke. Naziv KAO "%"

Proizlaziti:

[^] (u uglatim zagradama nalazi se znak za izlaz ^ iza kojeg slijedi jedan ili više znakova)

Ekvivalent bilo kojem znaku (_) osim navedenih ()

Primjer

IZABERITE prvih 10
Ključevi.Ime
IZ
Imenik.Ključevi KAO ključevi
GDJE
Tipke. Naziv SLIČAN kao "8.[^012]%"//ne uključuje 8.0,8.1,8.2

Proizlaziti: sve počinje s "8." isključujući one naznačene

SPECIJALNI ZNAK - naredba za specificiranje gore registriranih znakova u zahtjevu

Kao servisni simbol prihvatljivo je koristiti najmanje: #,~,/,\

Primjer:

IZABERITE prvih 10
Ključevi.Ime
IZ
Imenik.Ključevi KAO ključevi
GDJE
Tipke. Naziv KAO "#_" POSEBAN ZNAK "#"

Proizlaziti:

Primjenjivost u platformama

Neispravni parametri LIKE<>

  • Parametar nije proslijeđen vrsta niza: na primjer broj 1 umjesto niza "1"
  • Polje tipa koji nije string uspoređuje se s valjanom maskom (na primjer, vezom) ili se prilikom povezivanja vrijednost ne provjerava za IsNUL

Obratite pozornost na tekst pogreške gdje se prikazuje pitanje:

Ključevi.Ime SLIČNO<>&L

Ponekad se pojavi situacija kada u 1C 8.3 ili 8.2 trebate napraviti odabir, na primjer, iz imenika svih elemenata koji u svom nazivu imaju riječ "glazura". Ili iz imenika odaberite sve izvođače u čijem se prezimenu nalazi riječ “Ivan”. Općenito, provjerite neku vrijednost niza.

U tu svrhu postoji operator u 1C upitima 8.3 i 8.2 - "Slično". Koristi se, odnosno, u sljedećim uvjetima:

Besplatno nabavite 267 video lekcija o 1C:

Kako koristiti predloške u 1C upitima?

Da biste stvorili uvjet odabira, trebate proslijediti određeni predložak kao parametar. Za izradu predloška postoje takozvani servisni simboli.

Na primjer, znak "%" dopušta bilo koji niz proizvoljnih znakova:

Postoje i drugi posebni znakovi:

  • % (postotak) - dopušta bilo koji niz proizvoljnih znakova;
  • _ (podvlaka) - bilo koji pojedinačni znak;
  • […] – jedan proizvoljan znak od onih navedenih unutar zagrada. Osim ispisa znakova, možete koristiti raspone. Primjer: a-o;
  • [^...] – isto kao i prethodno, ali obrnuto. Znak "^" znači negaciju.

Operater KAO omogućuje vam usporedbu podataka tipa niza u upitu koji se nalazi lijevo od operatora s podacima tipa niza koji se nalaze desno od operatora. Rezultat usporedbe daje vrijednost True ili False, tako da se usporedba može primijeniti kao uvjet.

Za operatera KAO Postoje posebni uslužni znakovi koji se ne percipiraju kao niz:

  • Simbol postotka "%": označava prisutnost bilo kojeg broja proizvoljnih znakova u nizu
  • "[...]" jedan ili više znakova u uglatim zagradama: označava prisutnost bilo kojeg (jednog) od navedenih znakova. Također, može se odrediti niz znakova (na primjer)
  • "_" podvlaka: označava prisutnost proizvoljnog znaka
  • "[^...]" znak negacije: označava prisutnost bilo kojeg pojedinačnog znaka osim onih navedenih u uglatim zagradama
Ako trebate navesti jedan od gornjih posebnih znakova za usporedbu, morate koristiti ključnu riječ "POSEBNI SIMBOL"

Značajke korištenja s različitim DBMS-ovima

IBM DB2"Samo se parametar može postaviti desno od operatora SLIČNO. Jedini zamjenski znakovi su "_" (podvlaka koja znači bilo koji znak) i "%" (postotak koji znači niz bilo kojih znakova).
U slučaju korištenja DBMS-a " PostgreSQL" ili " Oracle baza podataka"posebni znakovi "uglate zagrade [...]" prihvaćaju se samo ako su navedeni u tekstu zahtjeva i NE prosljeđuju se kao parametar zahtjevu.

Stoga će se u datotečnoj bazi podataka posebni znakovi uvijek percipirati na isti način, a različito ovisno o DBMS-u koji se koristi u verziji klijent-poslužitelj.

Primjer: odaberite proizvode koji u nazivu sadrže simbol "%".

ODABIR | Ref.Link |OD | Imenik Nomenklatura KAKO Ref | GDJE | Ref.Name KAO "%\%" POSEBAN ZNAK "\"

Primjer: odaberite proizvode čiji naziv počinje riječju "Tank"

ODABIR | Ref.Link |OD | Imenik Nomenklatura KAKO Ref | GDJE | Ime reference SLIČNO "Bak%"

Primjer: odaberite proizvode čiji nazivi završavaju brojem

ODABIR | Ref.Link |OD | Imenik Nomenklatura KAKO Ref | GDJE | Naziv reference SLIČNO "%"

Operator SIMILAR u upitu provjerava vrijednosti niza iz tablica radi sličnosti s uzorkom.
Koristi se na sljedeći način: niz koji se provjerava postavlja se lijevo od ovog operatora, a uzorak se postavlja desno.

Nakon provjere, vraća True ili False; prema tome, aktivno se koristi u uvjetima.
Za izradu predloška koriste se sljedeći servisni znakovi:

  • % (postotak) - niz koji sadrži bilo koji broj proizvoljnih znakova
  • _ (podvlaka) - jedan proizvoljan znak
  • […] (jedan ili više znakova u uglatim zagradama) - svaki pojedinačni znak naveden unutar uglatih zagrada
    Također osim razni likovi možete koristiti raspone, na primjer a-z(A-z), što znači da je u rasponu uključen proizvoljan znak, uključujući krajeve raspona.
  • [^...] (u uglatim zagradama znak negacije iza kojeg slijedi jedan ili više znakova) - svaki pojedinačni znak osim onih navedenih nakon znaka negacije

Preostali simboli koriste se za njihovu namjenu.
Ako je potrebno prenijeti jedan od gornjih servisnih znakova kao simbol, tada mu mora prethoditi<Спецсимвол>. Sebe<Спецсимвол>(bilo koji prikladan simbol) definiran je u istoj izjavi nakon ključna riječ POSEBAN SIMBOL.
Na primjer, obrazac “%ABV[abvg]\_abv%” POSEBNI ZNAK “\” znači podniz koji se sastoji od niza znakova:
slova A; slova B; slova B; jedna znamenka; jedno od slova a, b, c ili d; donja crta; slova a; slova b; slova v.
Štoviše, ovom nizu može prethoditi proizvoljan skup znakova.

Procedura Odaberite AgreementContainingInNameText(mText)
//U zahtjevu ćemo koristiti predložak poput "%" + mText + "%" Zahtjev = Novi zahtjev; Query.SetParameter("Ime", "%" + Tekst + "%"); Request.Text = "SELECT | Ugovori. Veza, | Ugovori. Vlasnik | FROM | Imenik. Ugovori ugovornih strana AS Ugovori | | GDJE | Ugovori. Naziv SLIČNO & Naziv"; Rezultat = Query.Run(); Odabir = Rezultat.Odaberi(); Izvješće("Ugovori koji u nazivu sadrže: " + mText + " imaju sljedeće ugovorne strane"); Dok Selection.Next() Cycle Report("Counterparty: " + Selection.Owner + "; Agreement: " + Selection. Link EndIf; EndProcedure

43
NULL – nedostaju vrijednosti. Ne smije se brkati s nultom vrijednošću! NULL nije broj, nije jednak razmaku, praznoj referenci ili Nedefinirano. NULL je vrijednost koja formira tip, tj. postoji tip NULL i jedna vrijednost ovog tipa. NULL... 26
Za generiranje i izvršavanje upita prema tablicama baze podataka u 1C platformi koristi se poseban objekt Query programskog jezika. Ovaj se objekt stvara pozivanjem konstrukcije New Request. Zgodan zahtjev... 18
Članak pruža korisne tehnike pri radu s upitima 1C v.8.2, kao i informacije koje nisu toliko poznate o jeziku upita. Ne pokušavam dati potpuni opis jezika upita, već se želim zadržati samo na... 12
Suočio sam se sa zadatkom odabrati sve platne dokumente i grupirati ih po vrsti dokumenta! Pregledavši sve stambene i komunalne usluge i internet, shvatio sam to jednostavan način get Tip dokumenta nije u zahtjevu:(Morao sam...