MS Access ei paku täielikku toetust regulaaravaldiste kasutamisele, kuid selle LIKE predikaadi mustrite koostamise võimalusi on laiendatud regulaaravaldistest tuntud võimalustega. Kui on valitud File => Options => Object Designers => Query design => SQL Server Compatible Syntax (ANSI 92) => This database
(Fail => Suvandid => Objektikujundajad => Päringu kujundus => SQL Serveriga ühilduv süntaks (ANSI 92) => See andmebaas), siis * asemel tuleb kasutada % ja ? asemel _
MS Accessi andmebaasi saab lokaliseerida (konkreetse keele keskkonnaga kohandada), määrates andmebaasis tekstiliste väärtuste sorteerimiseks kasutatava keele:
Fail=>Suvandid=>Üldist=>Uue andmebaasi sortimisjärjestus
File=>Options=>General=>New database sort order
Konkreetse andmebaasi puhul kasutatav keel määrab, milliste märkide vahemikku tuleks mustri koostamisel kasutada. Eesti tähestiku esimene täht on A ja viimane täht on Y.
Kui andmebaasis on sorteerimise keeleks eesti keel, siis lisan tabelis Isik veerule isikukood valideerimisreegli:
Isikukood ei tohi olla selline, kus sisaldub mõni lubatud märkide hulka mittekuuluv märk. Hüüumärk tähistab Accessis selles kontekstis eitust - ei kuulu loetletud märkide hulka.
Nii tähistatakse märkide hulka, kuhu kuulub üks märk. Selles märkide hulgas on kõik märgid, mis ei ole tähemärgid, numbrimärgid, tühik, plussmärk, võrdusmärk, kaldkriips, sidekriips.
Kui andmebaasis on sorteerimise keeleks määratud general e inglise keel, siis lisan tabelis Isik veerule isikukood valideerimisreegli, sest inglise tähestiku esimene täht on A ja viimane Z:
Võrdluseks - PostgreSQLis ja Oracles tuleks kasutada regulaaravaldist
~ on operaator tõstutundlikuks (case sensitive) regulaaravaldise mustrile vastavuse kontrollimiseks.
Oracles oleks CHECK kitsenduse tingimus
REGEXP_LIKE on funktsioon regulaaravaldise mustrile vastavuse kontrollimiseks.
(Fail => Suvandid => Objektikujundajad => Päringu kujundus => SQL Serveriga ühilduv süntaks (ANSI 92) => See andmebaas), siis * asemel tuleb kasutada % ja ? asemel _
MS Accessi andmebaasi saab lokaliseerida (konkreetse keele keskkonnaga kohandada), määrates andmebaasis tekstiliste väärtuste sorteerimiseks kasutatava keele:
Fail=>Suvandid=>Üldist=>Uue andmebaasi sortimisjärjestus
File=>Options=>General=>New database sort order
Konkreetse andmebaasi puhul kasutatav keel määrab, milliste märkide vahemikku tuleks mustri koostamisel kasutada. Eesti tähestiku esimene täht on A ja viimane täht on Y.
Kui andmebaasis on sorteerimise keeleks eesti keel, siis lisan tabelis Isik veerule isikukood valideerimisreegli:
Not ALike '%[!A-Y0-9 +=/\-]%'
Isikukood ei tohi olla selline, kus sisaldub mõni lubatud märkide hulka mittekuuluv märk. Hüüumärk tähistab Accessis selles kontekstis eitust - ei kuulu loetletud märkide hulka.
[!A-Y0-9 +=/\-]
Nii tähistatakse märkide hulka, kuhu kuulub üks märk. Selles märkide hulgas on kõik märgid, mis ei ole tähemärgid, numbrimärgid, tühik, plussmärk, võrdusmärk, kaldkriips, sidekriips.
Kui andmebaasis on sorteerimise keeleks määratud general e inglise keel, siis lisan tabelis Isik veerule isikukood valideerimisreegli, sest inglise tähestiku esimene täht on A ja viimane Z:
Not ALike '%[!A-Z0-9 +=/\-]%'
Võrdluseks - PostgreSQLis ja Oracles tuleks kasutada regulaaravaldist
'^[[:alnum:] +=-\/\]*$'
. Alates stringi algusest (^) kuni lõpuni ($) peab selles olema null või rohkem(*) nurksulgudes kirjeldatud märkide hulka kuuluvat märki. [[:alnum:]] on eeldefineeritud märkide klass, kuhu kuuluvad tähed ja numbrimärgid. PostgreSQLis oleks CHECK kitsenduse tingimus isikukood~
'^[[:alnum:] +=-\/\]*$'
~ on operaator tõstutundlikuks (case sensitive) regulaaravaldise mustrile vastavuse kontrollimiseks.
Oracles oleks CHECK kitsenduse tingimus
REGEXP_LIKE(isikukood,
'^[[:alnum:] +=-\/\]*$'
)
REGEXP_LIKE on funktsioon regulaaravaldise mustrile vastavuse kontrollimiseks.
Hinda postitust:
Keskmine hinne : Pole veel hinnanguid!