1c 8.3 lekérdezési nyelv hasonló. Mint a lekérdezési feltételeknél

1c 8.3 lekérdezési nyelv hasonló.  Mint a lekérdezési feltételeknél
1c 8.3 lekérdezési nyelv hasonló. Mint a lekérdezési feltételeknél

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 összehasonlítás céljából meg kell adnia a fenti speciális karakterek egyikét, akkor használja a "KÜLÖNLEGES KARAKTER" kulcsszót.

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, be fájlbázis A speciális karaktereket a rendszer mindig ugyanúgy és különböző módon érzékeli, a kliens-szerver verzióban használt DBMS-től függően.

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 "%"

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) után ugyanabban az utasításban van definiálva kulcsszó KÜLÖNLEGES SZIMBÓLUM.
Például, „%ABC[abc]\_abc%” minta KÜLÖNLEGES KARAKTER A „\” egy karaktersorozatból álló részsztringet 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ó

Vegye figyelembe a feltételes operátor célját és használatát MINT az 1C lekérdező nyelven a példákban.

Gyors átjárás

célja

Ellenőrizze, hogy a lekérdezésben szereplő karakterlánc értéke megegyezik-e a megadott mintával – logikai típusú értéket ad vissza (TRUE vagy FALSE).

  • A nyilvántartás ellenőrzése független.
  • A lekérdezés táblaindexeket használ – nem kapcsolódik a teljes szöveges keresési indexekhez.
  • Nagy asztaloknál ez sokáig tarthat.
  • A korlátlan hosszúságú karakterláncokat a SUBSTRING függvény segítségével kell leadni

Felhasználási helyek

  • Üzemeltetői körülmények között WHERE
  • Tervezés szempontjából VÁLASZTÁS MIKOR<>MAJD VÉGE "" EGYÉB "" VÉGE
  • A kiválasztási mezőkben (például: Név LIKE & Paraméter hasonló a String Suitable-hoz)

Operátor szintaxis leírása LIKE

Az operátori paraméternek karakterláncnak kell lennie: megadható konstansként, vagy átadható lekérdezési paraméterként.

Az alábbiakban megadott literálok (maszkok) együtt és külön-külön is használhatók.

Pontos karakterlánc specifikáció

KIVÁLASZTJA az első 10-et
Kulcsok.Név
TÓL TŐL
Directory.Keys AS Keys
AHOL
Keys.Name LIKE "1"//Ekvivalens: Keys.Name ="1"

Eredmény:

A % egy szó szerinti, tetszőleges számú karaktert jelent

KIVÁLASZTJA az első 10-et
Kulcsok.Név
TÓL TŐL
Directory.Keys AS Keys
AHOL
Keys.Name LIKE "%"

Eredmény: bármely 10 elem

_ (aláhúzás): literál, amely bármely karakterre egyezik

1. példa:

KIVÁLASZTJA az első 10-et
Kulcsok.Név
TÓL TŐL
Directory.Keys AS Keys
AHOL
Keys.Name LIKE "_"

2. példa: tetszőleges karakterrel kezdődik, amelyet "1" követ, majd tetszőleges karakter

KIVÁLASZTJA az első 10-et
Kulcsok.Név
TÓL TŐL
Directory.Keys AS Keys
AHOL
Keys.Name LIKE "_1%"

Eredmény:

(egy vagy több karakter szögletes zárójelben)

  • Minden literál, amely egy karakternek megfelel, VAGY-ként kerül felhasználásra.
    Egy tartomány megengedett, például a-z,0-5, ami egy tetszőleges karaktert jelent a megadott tartományból

Példa

KIVÁLASZTJA az első 10-et
Kulcsok.Név
TÓL TŐL
Directory.Keys AS Keys
AHOL
Keys.Name LIKE "[ls]%"

Eredmény: 10 „l” vagy „z” betűvel kezdődő

Példa: 5,6,7-tel kezdve

KIVÁLASZTJA az első 10-et
Kulcsok.Név
TÓL TŐL
Directory.Keys AS Keys
AHOL
Keys.Name LIKE "%"

Eredmény:

[^] (szögletes zárójelben a kivétel ikon ^, majd egy vagy több karakter)

Egyenértékű bármely karakterrel (_), kivéve a megadott ()

Példa

KIVÁLASZTJA az első 10-et
Kulcsok.Név
TÓL TŐL
Directory.Keys AS Keys
AHOL
Keys.Name LIKE "8.[^012]%" // ne tartalmazza a 8.0,8.1,8.2

Eredmény: mind "8"-al kezdődik. kivéve azokat

SPECIAL CHARACTER - parancs a kérésben fent regisztrált karakterek megadására

Szervizkarakterként megengedett legalább: #, ~, /, \

Példa:

KIVÁLASZTJA az első 10-et
Kulcsok.Név
TÓL TŐL
Directory.Keys AS Keys
AHOL
Keys.Name LIKE "#_" KÜLÖNLEGES KARAKTER "#"

Eredmény:

Alkalmazhatóság több platformon

Érvénytelen paraméterek LIKE<>

  • Nem karakterlánc típusú paraméter kerül átadásra: például az 1-es szám az "1" karakterlánc helyett.
  • A nem karakterlánc típusú mezőt a rendszer egy érvényes maszkkal (például egy hivatkozással) hasonlítja össze, vagy ha csatlakoztatva van, az értéket nem ellenőrzi a NUL érték

Ügyeljen a hiba szövegére, ahol a kérdés megjelenik:

Keys.Neve LIKE<>&L

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 bármilyen 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.