Építsen sql lekérdezéseket

Ábra. 3.31. A DATEADD funkció eredménye

A DATEDIFF függvény segítségével határozható meg a dátum, az idő vagy a dátum / idő első értékétől a második értékig eltelt idő. Ez a funkció BIGINT típusú értéket ad vissza, és a következő formátumú:

DATEDIFF ( <временной отрезок> FROM <значение1> A <значение2> )

DATEDIFF ( <временной отрезок>, <значение1>, <значение2> ), ahol <временной отрезок> ugyanaz a szintaxis, mint a DATEADD függvény. Meg kell jegyezni a következőket:

- függvény pozitív számot ad vissza, ha <значение2> meghaladja a <значение1>, negatív, ha <значение1> meghaladja a <значение2>, és nulla, ha az értékek egyenlőek;

- ha a számítás eredménye törtrészes, kerekített értéket adnak ki;

- a DATE típusú érték TIME típusú értékkel történő összehasonlítása érvénytelen;

- Ami a DATEADD funkciót illeti, bizonyos időszegmensek csak a megfelelő típussal használhatók.

Például az előfizetőnek a 115705 személyes számlával benyújtott kérelmekre van szüksége, hogy levonhassa a kérelem bejegyzésének időpontjától a végrehajtás pillanatáig eltelt hetek számát. Ehhez használja a következő lekérdezést: SELECT RequestCD, DATEDIFF (WEEKDAY FROM IncomingDate

FOR ExecutionDate) AS intervallum FROM Request WHERE AccountCD = 115705; A lekérdezés eredményét az 1. ábra mutatja. 3.32.

A helyesen kialakított karakterláncot dátum-idő típusúvá alakíthatja. Például a nap, a hónap és az év három értékének dátumtípusa a következőképpen érhető el:

CAST (DAY MONTH YEAR AS DATE), ahol DAY, MONTH és YEAR lehet egy nap, hónap vagy év értékét tartalmazó tábla állandói vagy oszlopai.

Például, ha a 2. hónaphoz tartozó, a megfelelő hónap első napjához rendelt gázszolgáltatás különböző hónap- és évértékét szeretné megjeleníteni, a lekérdezés így nézhet ki: SELECT DISTINCT NachislMonth, NachislYear,

CAST (1. NachislMonth, NachislYear as date), mint első nap

Azokban az esetekben, amikor a Firebird nem képes implicit típusú konverziók végrehajtására, a CAST funkció segítségével explicit konverziót kell végrehajtania. Ez a függvény átalakítja az első argumentum által megadott kifejezés értékét a második argumentum által megadott típushoz. Funkció szintaxisa:

CAST (<выражение> AS <тип данных>).

A domaineket nem lehet adattípusként megadni.

A CAST funkcióval összehasonlíthatja az azonos táblázattal vagy különböző táblázatokkal rendelkező különböző típusú adattípusokat tartalmazó oszlopokat.

A CAST segítségével dátum és időpont egyik típusából átkonvertálható. A táblázatban. 3.3 az átalakítási szabályok bemutatására [18].

WHERE GazServiceCD = 2;

A lekérdezés eredményét az 1. ábra mutatja. 3.33.

Ábra. 3.33. A CAST funkció eredménye

Ezenkívül a számtípusokat szöveggé alakíthatja át, és fordítva. Például annak érdekében, hogy növelje az összes előfizető előfizetői számát 2-tel, a következő lekérdezést kell használnia:

SELECT (CAST (AccountCD AS INTEGER) +2) Mint új Ac, Fio

Ha például 115705 számlaszámra kell előfizetni az előfizető számlázási értékeit, egész számra kerekítve, akkor a következő lekérdezést használhatja:

SELECT NachislFactCD, NachislSum,

CAST (NachislSum AS INTEGER) AS RoundSum

A lekérdezés eredményét az 1. ábra mutatja. 3.34.

Ábra. 3.34. A szám kerekítésének egész számra kerekítésének eredménye

Kapcsolódó cikkek