Mysql tanulságok könyv (bemutató) kezdőknek, 6. lecke

Az összehasonlító operátorok MySQL garancia 1 (igaz, TRUE), 0 (hamis, hamis), vagy NULL (nem érthető). Ezek a funkciók működnek a szám és szöveg. Húrok a program automatikusan átalakítja számok és számok szöveggé, ha szükséges.

MySQL végzi összehasonlítást az alábbi szabályok vonatkoznak:

  • ha az egyik vagy mindkettő egyenlő, NULL, a összehasonlítás eredménye is egyenlő NULL, kivéve a szolgáltatók;
  • Ha mindkét paraméterek összehasonlítása művelet húrok, összehasonlítják őket a húrok;
  • Ha mind a két paraméter számok, összehasonlítják őket a számok;
  • hexadecimális értékeket kell kezelni bináris sorozatokban, ha azok nem számához képest;
  • Ha az egyik paraméter egy oszlop típusú vagy TIMESTAMP DATETIME, és a másik paraméter egy állandó, akkor át kell alakítani egy időbélyeget, mielőtt az összehasonlítás;
  • minden más esetben, a paraméterek, mint például a lebegőpontos (valós).

Alapértelmezésben a húr elvégzett összehasonlítás függetlenül a nyilvántartásból az aktuális szimbólum készlet (az alapértelmezett ISO-8859-1 Latin1, ami tökéletesen működik, angol nyelven).

Az alábbi példák szemléltetik átalakítás a megfelelő sorok számát elvégzésére összehasonlító műveletek:

mysql> SELECT 1> "6x";
-> 0 mysql> SELECT 7> "6x";
-> 1 mysql> SELECT 0> "x6";
-> „0 mysql> SELECT 0 = "x6";
-> 1

mysql> 1 válassza = 0;
-> 0 mysql> válassza ki a "0" = 0;
-> 1 mysql> válassza ki a „0.0„= 0;
-> 1 mysql> válassza '0,01' = „0;
-> 0 mysql> válassza ki a”.01" = 0,01;
-> 1

mysql> válassza a”0,01" <> „0,01:
-> 1 mysql> select 0,01 <> „0,01”
-> 0 mysql> válassza a "Zapp" <> "Zappp"
-> 1

Kevesebb, mint vagy egyenlő (mysql> válasszuk 0,1 1

Szigorúan kisebb, mint (mysql> select 2 0

Nagyobb vagy egyenlő (> =)

Szigorúan nagyobb (>):

mysql> válassza ki a 2> 2;
-> 0

mysql> select 1 1, NULL NULL, NULL 1;
-> 1 1 0

IS NULL, és nem NULL.
Ellenőrzi-e vagy sem az érték NULL:

mysql> select 1 IS NULL, 0 IS NULL, NULL NULL;
-> 0 0 1 mysql> select 1 IS NOT NULL, 0 nem NULL, NULL nem NULL;
-> 1 1 0

expr MIN és MAX között.

Ha expr nagyobb vagy egyenlő, mint perc, és ugyanabban az időben kisebb vagy egyenlő expr max, majd KÖZÖTTI visszatér 1, különben visszatér 0. Ez ekvivalens az expresszió (min mysql> 1 válassza a 3 és 2;
-> 0
mysql> válassza a "b" között "a" és "c";
-> 1
mysql> select 2 2 között, illetve a "3";
-> 1
mysql> select 2 2 között és az „x-3„;
-> 0

Értéke 1, ha expr bármelyik érték a listán szereplő, más visszatér 0. Ha minden érték - állandók, ezek alapján értékelik, hogy milyen típusú expr és rendezve. Aztán egy bináris keresés készül butset elem. Ez azt jelenti, hogy az IN nagyon gyors, ha az értékben lista tartalmazza a konstansok fitness. Ha kifejezés - érzéketlen stringkifejezés string összehasonlító végezzük figyelembe véve a nyilvántartásban:

mysql> select 2 IN (0,3,5, 'wefwf');
-> 0
mysql> válassza a "wefwf" IN (0,3,5, 'wefwf');
-> 1

expr NOT IN (érték).

Hasonlóképpen NOT (expr IN (érték).).

Ha kifejezés értéke NULL, ISNULL () értéke 1, egyébként értéke 0:

mysql> select ISNULL (1 + 1);
-> 0
mysql> select ISNULL (1/0);
-> 1

Felhívjuk figyelmét, hogy a különböző anyagok NULL értékeket = mindig hamis!

Visszaadja az első nem-NULL elemet a listában:

mysql> select COALESCE (NULL, 1);
-> 1
mysql> select COALESCE (NULL, NULL, NULL);
-> NULL

Értéke 0, ha N mysql> intervallumának kiválasztása (23, 1, 15, 17, 30, 44, 200);
-> 3
mysql> intervallumának kiválasztása (10, 1, 10, 100, 1000);
-> 2
mysql> intervallumának kiválasztása (22, 23, 30, 44, 200);
-> 0

Ha összehasonlítjuk a kis- és nagybetűk sor bármely standard szereplők (= <>. de nem szeretem), hátsó tér figyelmen kívül hagyja.

mysql> válassza a "a" = "A";
-> 1

Kapcsolódó cikkek