az illesztések és függvények használata az SQL-ben

ugrás a szakaszra

SQL Bevezetés

az SQL a strukturált lekérdezési nyelvet jelenti. Főleg az adatok manipulálására, az adatok módosítására és az adatok visszakeresésére használják. Ez jön körül relációs adatbázis-kezelő rendszer (RDBMS).

megismerjük az SQL fejlettebb funkcióit, például a csatlakozásokat és a funkciókat.

hogyan működik az SQL csatlakozik

egy egyszerű csatlakozni azt jelenti, hogy összekapcsolják a két vagy több tábla egy adott adatbázisban. A Csatlakozás két tábla közös entitásán működik.

a csatlakozás 5 alcsatlakozást tartalmaz, amelyek as; Belső csatlakozás, külső csatlakozás, bal Csatlakozás, jobb csatlakozás és Keresztcsatlakozás.

belső illesztés

a belső illesztés olyan rekordok kiválasztására szolgál, amelyek közös vagy egyező értékeket tartalmaznak mind a táblákban (a táblázat és B táblázat). A nem egyezés megszűnik.

tehát értsük meg a csatlakozások típusát, valamint a közös példákat és a köztük lévő különbségeket.

1. táblázat: alkalmazotti táblázat (tbl munkatárs)

2. táblázat: osztályok táblázat (tblDepartments)

tehát hozzunk létre táblázatot tbldeosztályok EGY program végrehajtásához.

most helyezze be a rekordokat a tbldepartments táblázatba.

hozzunk létre egy másik táblázatot tblmunkavállaló EGY program végrehajtásához.

tehát helyezze be a rekordokat a táblázatbaa munkavállaló.

ezért egy általános képlet csatlakozik.

ahhoz, hogy egy lekérdezést találni név, nem, fizetés és DepartmentName mind a táblázatok tblEmployee és tblDepartments.

Megjegyzés: A csatlakozás vagy a belső csatlakozás ugyanazt jelenti. De mindig jobb a belső csatlakozás használata, és ez kifejezetten meghatározza szándékát.

kimenet: most a végső kimeneti táblázat így fog kinézni;

ha megnézzük a kimeneti ablakot, csak 8 sorunk van, de a táblázatban tblalkalmazottja, 10 sorunk van. Nem kaptuk meg a JAMES és RUSSELL lemezeket. Ez azért van, mert a DEPARTMENTID, a táblázatban tblmunkavállaló NULL e két alkalmazott, és nem egyezik az ID oszlop táblázat tbldepartments.

tehát egy végső nyilatkozatban a belső illesztések csak a táblázatokból származó egyező sorokat adják vissza, a nem egyező sorok pedig az alkérdezés miatt megszűnnek.

bal Csatlakozás

a LEFT Join a bal oldali táblázat összes egyező és nem egyező sorát adja vissza. Ezenkívül a belső csatlakozás és a bal csatlakozás széles körben használják egymást.

tehát Vegyünk egy példát, szeretném az összes sort a tblmunkavállaló táblából, beleértve a JAMES és RUSSELL rekordokat is. Ezután a kimenet úgy fog kinézni, mint;

jobb Csatlakozás

a RIGHT Join a jobb oldali táblázat összes egyező és nem egyező sorát adja vissza.

tehát Vegyünk egy példát; azt akarom, hogy a jobb oldali táblák összes sora részt vegyen a csatlakozásban. Ennek eredményeként olyan lenne, mint;

teljes külső csatlakozás

a külső illesztés vagy a teljes külső illesztés A bal és a jobb oldali táblázatok összes sorát adja vissza, beleértve a táblázatok nem egyező sorait is.

tehát Vegyünk egy példát; azt akarom, hogy az összes sor mindkét táblából részt vegyen a csatlakozásban.

keresztkötés

ez az illesztés megadja a derékszögű szorzat a 2 táblázatok az illesztési függvényben. Ez a csatlakozás nem tartalmaz on záradékot.

tehát értsünk meg egy példát: A tblmunkavállalói táblázatban 10 sor van, a tblDepartments táblázatban pedig 4 sor. Tehát egy kereszt csatlakozik a 2 asztal között, 40 sort hoz létre.

hogyan kell dolgozni az Advance SQL Joins

ebben a munkamenetben ezeket a dolgokat a következőképpen magyarázom;

  • Fejlett vagy intelligens csatlakozik az SQL Server.
  • csak a nem egyező sorokat töltse le a bal oldali táblázatból.
  • csak a nem egyező sorokat töltse le a jobb oldali táblából.
  • csak a nem egyező sorokat töltse le mind a bal, mind a jobb táblákból.

Tehát vegyük figyelembe mind a tblmunkavállaló, mind a tblDepartment táblákat.

bal Csatlakozás

tehát értsünk meg egy példát, csak a nem egyező sorokat szeretném letölteni a bal oldali táblázatból.

kimenet: végül a kimenet így fog kinézni;

jobb Csatlakozás

tehát értsünk meg egy példát, csak a nem egyező sorokat szeretném letölteni a jobb oldali táblázatból.

kimenet: végül a kimenet így fog kinézni;

teljes külső csatlakozás

tehát értsünk meg egy példát, csak a nem egyező sorokat szeretném lekérni a jobb oldali táblázatból és a bal oldali táblázatból, és a megfelelő sorokat ki kell küszöbölni.

kimenet: végül a kimenet így fog kinézni;

kulcsok típusai az SQL-ben

az SQL egyik kulcsa egy adatmező, amely kizárólag egy rekordot azonosít. Egy másik szóban a kulcs egy oszlop(ok) halmaza, amelyet a rekord egyedi azonosítására használnak egy táblázatban.

  • kapcsolatok létrehozása két tábla között.
  • fenntartja az egyediséget és a felelősséget egy táblázatban.
  • konzisztens és érvényes adatok tárolása egy adatbázisban.
  • segíthet a gyors adatok visszakeresése megkönnyítésével indexek oszlop(ok).

az SQL server a következő kulcsokat tartalmazza;

  1. jelölt kulcs
  2. elsődleges kulcs
  3. egyedi kulcs
  4. alternatív kulcs
  5. összetett kulcs
  6. szuper kulcs
  7. idegen kulcs

mielőtt megy előre, és kérjük, nézze meg az alábbi képet;

értsük meg részletesen az egyes kulcsokat

jelölt kulcs

a jelölt kulcs egy olyan tábla kulcsa, amely a táblázat elsődleges kulcsaként választható ki, és egy tábla több jelölt kulcsot is tartalmazhat, ezért elsődleges kulcsként kiválasztható.

példa: Employee_Id, License_Number, & Passport_Number jelöltkulcsokat mutat

elsődleges kulcs

az elsődleges kulcs hasonló a tábla kiválasztott jelöltkulcsához, hogy minden adatrekordot egyedileg ellenőrizzen a táblában. Ezért az elsődleges kulcs nem tartalmaz null értéket a táblázat egyik oszlopában sem, és egyedi értékeket is tart az oszlopban. Az adott példában az Employee_Id meghatározza az Employee tábla elsődleges kulcsát. Következésképpen az SQL Server Management Studio-ban az elsődleges kulcs alapértelmezés szerint fürtözött indexet hoz létre egy halom táblán, és egy olyan táblát, amely nem tartalmaz fürtözött indexet, halom táblának nevezzük. Határozza meg a nem klaszterezett elsődleges kulcsot egy táblán az index típusa szerint.

ezenkívül egy táblának csak egy elsődleges kulcsa lehet, az elsődleges kulcs pedig SQL utasításokkal definiálható az SQL Server alkalmazásban:

  1. kréta tábla utasítás (a táblázat létrehozásakor) – ennek eredményeként a rendszer meghatározza az elsődleges kulcs nevét.
  2. ALTER TABLE utasítás (elsődleges kulcskorlátozás használatával) –ennek eredményeként a felhasználó maga deklarálja az elsődleges kulcskorlátozás nevét.

példa: Employee_Id az Employee tábla elsődleges kulcsa.

egyedi kulcs

az egyedi kulcs lényegében az elsődleges kulcs, amely nem tartalmaz ismétlődő értékeket az oszlopban. Az elsődleges kulcs összehasonlításában különbségek vannak:

  1. ez lehetővé teszi egy null értéket az oszlopban.
  2. alapértelmezés szerint nem fürtözött index-és kupactáblákat hoz létre.

alternatív kulcs

az alternatív kulcs hasonló a jelölt kulcshoz, de nincs kiválasztva a táblázat elsődleges kulcsaként.

példa: License_Number és Passport_Number alternatív kulcsok.

összetett kulcs

összetett kulcs (más néven összetett kulcs vagy összefűzött kulcs) két vagy több oszlopból álló csoport, amely egyedileg azonosítja a táblázat minden sorát. Ezenkívül előfordulhat, hogy egy összetett kulcs egyetlen egységoszlopa nem tudja egyedileg ellenőrizni az adatrekordokat. Ennek eredményeként lehet elsődleges kulcs vagy jelölt kulcs is.

példa: a táblázatban, Employee_Id & Salary_Month_Year mindkét oszlop ellenőrzi minden sor egyedileg fizetés tábla. Ezért Employee_Id vagy Salary_Month_Year oszlop a táblázatban, amely nem tudja azonosítani az egyes sorokat egyedileg. Egyetlen összetett elsődleges kulcsot hozhatunk létre a Fizetési táblán az Employee_Id és a Salary_Month_Year oszlopnevek használatával.

szuper kulcs

a szuper kulcs olyan oszlopok halmaza, amelyeken a táblázat összes oszlopa funkcionálisan függ. Az oszlopok halmaza miatt, amelyek egyedileg azonosítják a táblázat minden sorát. Más szóval, ez a kulcs néhány további oszlopot tartalmaz, amelyek nem feltétlenül szükségesek a táblázat minden sorának egyedi ellenőrzéséhez. Úgy tűnik, hogy az elsődleges kulcs és a jelölt kulcsok minimális szuperkulcsok, vagy mondhatjuk a szuperkulcsok egy részhalmazát.

tehát nézzük meg a fenti példát, az alkalmazott táblában az oszlop neve Employee_Id aligha elegendő a táblázat bármely sorának egyedi ellenőrzéséhez. Tehát, hogy az Employee table oszlopának bármely halmaza, amely tartalmazza az Employee_Id-t, egy Szuperkulcs az Employee Table számára.

például: {Employee_Id}, {Employee_Id, Employee_Name}, {Employee_Id,Employee_Name, cím} stb.

License_Number és Passport_Number az oszlopok neve, egyedileg ellenőrizheti a táblázat bármely sorát. Bárki oszlop neve set amely License_Number vagy Passport_Number vagy Employee_Id egy szuperkulcs a táblázatban.

például: {License_Number, Employee_Name, Address}, {License_Number, Employee_Name, Passport_Number}, {Passport_Number, Employee_Name, cím, License_Number}, {Passport_Number, Employee_Id} stb.

idegen kulcs

az FK két vagy több tábla közötti kapcsolatot definiál egyszerre. Egyetlen tábla elsődleges kulcsát egy másik tábla idegen kulcsára utalják. Egy idegen kulcsnak lehetnek duplikált értékei egy táblában, valamint null értékei is lehetnek, ha az oszlop neve még null értékek elfogadására van meghatározva.

például az “Employee_Id” Oszlopnév ( amely az Employee tábla elsődleges kulcsa ) egy idegen kulcs a Fizetési táblában.

Megjegyzés: Az olyan billentyűk, mint az elsődleges kulcs és az egyedi kulcs, indexeket hoznak létre kulcsoszlopokkal. Szervezett adatok A B-fa struktúra csomópontban (kiegyensúlyozott fa: a Levélcsomópontok mind a gyökéroldaltól eltérő szinten vannak) az SQL Server-ben. Ezért a nem Klaszterezett index külön struktúrát hoz létre az alap adattáblától, de a fürtözött index átalakítja az alap adattáblát a kupacszerkezetből B-fa struktúrává.

ezenkívül a fürtözött index nem hoz létre külön struktúrát az alaptáblán kívül, ezért csak egy fürtözött indexet hozhatunk létre egy táblán. Ezért egy táblázatot csak egy módon rendezhetünk (lehet, hogy több oszlopot kell rendezni, de a rendezés csak egy módon történhet), amely a fürtözött index sorrendje.

hogyan működik az SQL függvények

a függvény egy entitás program, amely tárolja az SQL Server adatbázisban vagy akkor adja át a paramétereket, vagy vissza egy értéket. Továbbá, mi is várom, hogy néhány nagyon hasznos beépített funkció és a felhasználó által definiált funkciókat.

Coalesce függvény

Coalesce (): ez a függvény csak az első nem NULL értéket adja vissza. Vegyünk egy példát a Coalesce () függvényre.

értsük meg a táblázatot névként ‘alkalmazott’ fent. Ennek eredményeként láthatja, hogy néhány alkalmazottnak hiányzik a keresztneve, néhánynak középső neve van, másoknak pedig hiányzik a vezetékneve. Tehát csak a munkavállaló “nevét” szeretném visszaadni.

hogyan fog működni? Értsd meg, mi feldolgozása Lastname, MiddleName és LastName oszlopok paraméterként COALESCE () függvény. Ezért ez a függvény az oszlopok 3-ból az egyetlen első nem null értéket adja vissza.

lekérdezés: válassza ki az Id, COALESCE (Keresztnév, MiddleName, LastName) nevet a TBL-tőlmunkavállaló

végül a kimenet így fog kinézni;

LEFT() függvény

LEFT(Character_Expression, Integer_Expression) – ez a függvény a megadott karakterszámot adja vissza az adott karakterérték-kifejezés bal oldaláról.

példa: válassza a bal (‘ABCDE’, 3)

kimenet: ABC

RIGHT() függvény

RIGHT(Character_Expression, Integer_Expression) – ez a függvény a megadott karakterszámot adja vissza az adott karakterérték-kifejezés jobb oldaláról.

példa: válassza ki a jobb oldalt (‘ABCDE’, 3)

kimenet: CDE

CHARINDEX () Function

CHARINDEX (‘Expression_To_Find’,’ Expression_To_Search’,’ Start_Location’) – ez a függvény a megadott érték kifejezésének kiindulási helyzetét adja vissza egy karakterláncban. A Start_Location paraméter nem kötelező.

példa: értsük meg, hogy a ‘@’ karakter kezdő pozícióját az e-mail karakterláncban készítjük ‘[email protected]’.

válassza a CHARINDEX (‘@’, ‘[email protected]’,1)

kimenet: 5

SUBSTRING () függvény

SUBSTRING (expression’, ‘Start’, ‘Length’) – ez a függvény a substring (a karakterlánc alrésze) értéket adja vissza az adott érték kifejezésből. Ezenkívül, ha a kezdő pozíciót a ‘start’ paraméterrel, a másik karakterszámot pedig a ‘hossz’ paraméterrel adja meg. Mindhárom paraméter kötelező.

példa: csak az adott e-mail domain részét szeretném megjeleníteni ‘[email protected]’.

Select SUBSTRING (‘[email protected]’,6, 7)

kimenet: bbb.com

ennek eredményeként elkészítettük a kódolást a kiindulási pozícióval és a hosszparaméterekkel. A paraméterek keménykódolása helyett dinamikusan lekérhetjük őket a CHARINDEX() és a LEN() karakterlánc függvények segítségével, az alábbiak szerint.

példa:
Select SUBSTRING(‘[email protected]’, (CHARINDEX (‘@ ‘, ‘[email protected]’) + 1), (LEN (‘[email protected]’) – CHARINDEX (‘@’, ‘[email protected]’)))

kimenet: bbb.com

Vegyünk egy valós példát a LEN(), CHARINDEX() és SUBSTRING() függvények használatával. Gondoljunk arra, hogy van egy táblázatunk az alábbiak szerint;

tehát a kérdés az, hogy hogyan fogja megtalálni az e-mailek teljes számát domainjük szerint.

kimenet: végül a kimenet így fog kinézni;

REPLICATE() függvény

REPLICATE (String_To_Be_Replicated, Number_Of_Times_To_Replicate) – ez a függvény megismétli a karakterlánc adott pontját, a megadott számú alkalommal.

példa: válassza ki a replikációt (‘Pragim’, 3)

kimenet: Pragim Pragim Pragim

beszéljünk egy gyakorlati példáról a REPLICATE() függvény használatára: Legtöbbször ezt a táblázatot fogjuk használni, a cikk többi példájához pedig.

tegyük fel, hogy van egy táblázatunk az alábbiak szerint;

lekérdezés: válassza ki az utónevet, a vezetéknevet, az ALSZÖVEGET (E-Mail, 1, 2) + replikáció(‘*’,5) +
SUBSTRING (e – mail, CHARINDEX(‘@’,e-mail), LEN(e-mail) – CHARINDEX(‘@’,E-Mail)+1) E-mailként
a tblmunkavállalótól

készítsünk e-mailt 5 * (csillag) szimbólumokkal. Ezután a kimenet a következő lesz:

SPACE() függvény

SPACE(Number_Of_Spaces) – ez a függvény a szóközök egyetlen számát adja vissza, amelyet a number_of_spaces argumentum határoz meg.

példa: a SPACE(5) függvény 5 szóközt szúr be a Lastname és a Lastname közé
válassza ki a Lastname + SPACE (5) + LastName elemet teljes névként a tblmunkavállalótól

PATINDEX () függvény

ez a függvény csak a minta első előfordulásának kezdő helyét adja vissza egy megadott effektív kifejezésben. Ezért csak két argumentumra van szükség, a keresendő mintára és a kifejezésre. Ezért a PATINDEX () hasonló a CHARINDEX () – hez. A CHARINDEX () esetén nem használhatunk helyettesítő karaktereket, míg a PATINDEX () magában foglalja ezt a képességet. Ha a megadott mintaérték nem található, a PATINDEX() értéke nulla.

példa: válassza az e-mail, PATINDEX (‘%aaa.com, E-Mail’), mint FirstOccurence a tblEmployee-től, ahol PATINDEX(‘%@aaa.com’, Email) > 0

REPLACE() függvény

REPLACE (String_Expression, Pattern, Replacement_Value), ez a függvény egy adott karakterlánc érték összes előfordulási pozícióját egy másik karakterlánc értékkel helyettesíti.

példa: az összes. COM karakterlánc helyébe. Net
válassza az e-mail, REPLACE(Email, ‘.com’, ‘lehetőséget.net’) mint ConvertedEmail a TBL employee

cucc() függvény

cucc(Original_Expression, Start, Length, Replacement_expression), ez a cucc() funkció csak beszúrja Replacement_expression, amely meg van adva a kiindulási helyzetben, valamint eltávolítja a megadott karakterek Hossz paraméter értéke kifejezés.

példa: válassza ki a keresztnév, vezetéknév, e-mail, cucc (E-Mail,2,3,’*****’) mint StuffedEmail a TBL-től.

Dátum Idő funkció

az SQL Server adatbázisban számos beépített DateTime funkció érhető el. A következő funkciók többsége használható az aktuális rendszer dátumának és idejének, valamint az SQL server telepítésének helyére.

ezért az UTC A koordinált Világidőt jelenti, amely alapján a világ szabályozza az órákat és az időadatokat. Figyelemre méltó. vannak kisebb különbségek a GMT és az UTC között, de a leggyakoribb célokra az UTC A GMT szinonimája.

tehát Vegyünk egy másik példát az alábbiak szerint;

isDate () függvény

ISDATE () – ez a függvény ellenőrzi, hogy az egyetlen megadott érték létezik-e érvényes dátum, idő vagy dátumidő. Ezután 1-et ad vissza a sikerért, 0-t a kudarcért.

példa:
válassza az ISDATE(‘PRAGIM’) lehetőséget-0

értéket ad vissza példa:

válassza az ISDATE(Getdate ()) lehetőséget-visszatér1

példa:

válassza az ISDATE lehetőséget(‘2018-01-20 21:02:04.167’) — 1

értéket ad vissza Megjegyzés: datetime2 értékek esetén az IsDate nullát ad vissza.

példa:

válassza az ISDATE lehetőséget(‘2018-01-20 22:02:05.158.1918447’) — vissza fog térni 0.

Day() függvény

Day() – Ez a függvény csak az adott dátum ‘Napszámát’ adja vissza.

példák:

válassza ki a napot (GETDATE ()) — ez adja meg a kimenetet a hónap napszámának nevében, az aktuális rendszer DateTime alapján.

Select DAY (’01/14/2018′) – visszaadja a 14

Month () funkciót

Month () – ez a funkció megadja a kimenetet az adott dátum’ Hónapszámának ‘ nevében.

példák:

Select Month(GETDATE()) — ez a függvény adja meg a kimenetet az ‘év Hónapszáma’ nevében, az aktuális rendszer dátum és idő alapján.

Select Month(’05/14/2018) — visszaadja az 5

Year() függvényt

Year() – Ez a függvény az adott dátum ‘Évszámának’ nevében adja meg a kimenetet

példák:

Select Year(GETDATE()) — visszaadja az évszámot, és az aktuális rendszer dátuma alapján

év kiválasztása(’01/20/2018) — 2018

Datename() függvény

Datename(datepart, date) – ez a függvény csak egy karakterlánc-kifejezést ad vissza, amely csak az adott dátum egy részét képviseli. Ezek a funkciók 2 paramétert tartalmaznak.

az első ‘DatePart’ paraméter megadja a dátumnak azt a részét, amelyet szeretnénk. A második paraméter a valós dátum,ahonnan a dátum részét akarjuk.

1. példa:

válassza ki a DÁTUMNEVET (nap, ‘2017-04-20 13:47:47.350’) — 20

2. példa:

válassza ki a DÁTUMNEVET (hétköznap, ‘2017-04-20 13:47:47.350’) — csütörtökön fog visszatérni

3. példa:

válassza ki a DÁTUMNEVET (hónap, ‘2017-04-20 13:47:47.350’) — ez visszaadja április

tehát, vessünk egy példát néhány ilyen DateTime függvények. Tekintsük a táblázatot tblalkalmazottak.

példa: vissza akarom adni az összes nevet, a születési dátumot, a napot, a havi számot, a havi nevet és az évet az alábbiak szerint.

válassza ki a Name, DateOfBirth, DateName(hétköznap,DateOfBirth) as , Month(DateOfBirth) as MonthNumber, DateName(MONTH, DateOfBirth) as , Year (DateOfBirth) as From tbl employees

DatePart () függvény

DatePart (DatePart, Date) – Ez a függvény egy egész számot ad, amely a megadott DatePart értéket képviseli. Többnyire funkció hasonló DateName () függvény. A DateName() csak nvarchar értéket ad vissza, míg a DatePart() csak egész értéket ad vissza. Az érvényes DatePart paraméterértékek az alábbiakban láthatók.

példák:

válassza ki a DÁTUMRÉSZT (hétköznap, ‘2012-08-30 19:45:31.793’) — 5

válassza ki a DÁTUMNEVET (hétköznap, ‘2012-08-30 19:45:31.793’) — ez visszaadja csütörtök

DateAdd() Function

DATEADD (datepart, NumberToAdd, date) – ez az SQL függvény ad csak a DateTime után megadott kifejezés NumberToAdd, és a datepart megadott az adott dátum.

példák:

Dátum Kiválasztásaadd (nap, 10, ‘2018-01-20 19:45:31.793’) — vissza fog térni ‘2018-01-30 19:45:31.793’

válassza ki a Dátumotadd (nap, -10, ‘2012-08-30 19:45:31.793’)– vissza fog térni ‘2018-01-20 19:45:31.793’

DatedDiff () Function

DATEDIFF (datepart, startdate, enddate) – ez a függvény megadja a megadott datepart határok számát A megadott startdate és enddate között.

példák:

Dátum kiválasztása (hónap, ’11/30/2005′,’01/31/2006′) — ez visszaadja 2

válassza DATEDIFF (nap, ’11/30/2005′,’01/31/2006′) — visszaadja 62

tehát Vegyünk egy példát, Tegyük fel, hogy van egy táblázatunk az alábbiakban;

tehát írjon egy lekérdezést, hogy megtudja egy személy életkorát, amikor a születési dátum meg van adva.

végül a kimenet az alábbiak szerint fog kinézni.

Cast() és Convert() függvények

egyetlen egység adattípusának egy másikra történő konvertálásához CAST és CONVERT függvények használhatók.

a CAST and CONVERT függvény szintaxisa:
CAST ( expression AS data_type )
CONVERT ( data_type , expression )

ezenkívül, amint láthatja, hogy a CONVERT() függvénynek opcionális stílusparaméter értéke van, míg a CAST() függvénynek nincs ez a képessége.

tehát Vegyünk egy példát, az alábbi táblázatot vesszük;

a következő 2 lekérdezések átalakítani DateOfBirth a DateTime adattípus Nvarchar. Az első lekérdezés a CAST() függvényt, a második pedig a CONVERT() függvényt használja. Végül, a kimenet pontosan ugyanaz mind a lekérdezések az alábbiak szerint.

válassza az ID, Name DateOfBirth, Cast (DateOfBirth mint nvarchar) lehetőséget ConvertedDOB-ként a TBL-alkalmazottak közül.

válassza ki az ID, Név DateOfBirth, Convert(DateOfBirth mint nvarchar), mint ConvertedDOB a TBL-alkalmazottak.

tehát készítsük el a CONVERT() függvény stílusparaméterét, és formázzuk a dátumot, ahogy szeretnénk. Tehát a 103-at használjuk a stílusparaméter Argumentumának átadására az alábbi lekérdezésben, amely a dátumot DD/HH/éé formázza.

válassza az ID, Name, DateOfBirth, Convert (nvarchar, DateOFBirth, 103) lehetőséget ConvertedDOB-ként a TBL-alkalmazottak közül.

vessünk egy pillantást a gyakorlati példára a CAST () függvény segítségével;

tegyük fel, hogy az alábbi regisztrációs táblázatunk van;

most keressük meg a regisztráció teljes számát naponta.

példa: válassza a CAST(RegisteredDate as DATE) lehetőséget RegistrationDate, COUNT(Id) mint TotalRegistrations tblRegistrations Group by CAST(RegisteredDate as DATE)

kimenet: végül a kimenet úgy fog kinézni, mint ;

felhasználó által definiált függvények

3 típusú felhasználó által definiált függvények vannak az SQL Server-ben, amelyek

  1. skaláris függvények
  2. Inline tábla értékű függvények
  3. Multistatement tábla értékű függvények

skalár függvények

a skalár függvények olyan paraméterekben változnak, amelyeknek lehetnek vagy nem, és mindig egyetlen (skalár) értéket adnak a kimeneten. Ezért a visszaadott érték bármilyen adattípusú lehet, kivéve a szöveges értéket, a szöveget, a képet, a kurzort és az időbélyeget.

példa: Tehát dolgozzunk ki egy függvényt, amely kiszámítja és visszaadja egy személy életkorát a kimeneten. Következésképpen, összehasonlítani a szükséges életkorot, születési dátum. Tehát adjuk át a születési dátumot paraméterként. Ezért az AGE () függvény egész számot ad vissza, és elfogadja a dátum paramétert.

válassza a dbo lehetőséget.Kor( dbo.Kor (’10/08/1982′).

tehát Vegyünk egy gyakorlati példát az alábbi táblázatban az alábbiak szerint;

skalár felhasználó által definiált függvények használhatók a Select záradékban az alábbiak szerint.

válassza a név, DateOfBirth, dbo lehetőséget.Age (DateOfBirth), mint a TBL-alkalmazottak életkora

többnyire a függvény szövegének megtekintése használja az sp_helptext FunctionName funkciót.

Inline table-valued függvények

az inline Table Valued függvény mindig egy táblát ad vissza kimenetként.

tehát Vegyünk egy példát alább; hozzon létre egy függvényt, amely nemek szerint adja vissza az alkalmazottakat.

a felhasználó által definiált függvény hívási módszere miatt

válasszon * – t az Fn_ Employeebygender (‘férfi’)

több UTASÍTÁSÚ TÁBLAÉRTÉKŰ függvény

a több utasítású táblaértékű függvények sokkal jobban hasonlítanak az Inline Táblaértékű függvényekhez, némi eltéréssel. Vessünk egy pillantást egy példára, majd jegyezzük meg a különbségeket.

alkalmazotti táblázat

Multi-utasítás tábla értékű függvény (MSTVF):

a hívási módszer miatt va több utasítású tábla értékű függvény:
Select * from fn_MSTVF_GetEmployees ()

következtetés

az illesztések nagyon megértő kifejezés kezdőknek Az SQL parancsok tanulási szakaszában. Következésképpen az interjúban az interjúkészítő legalább egy kérdést feltesz az SQL illesztésekről és a funkciókról. Tehát ebben a bejegyzésben megpróbálom egyszerűsíteni a dolgokat az új SQL tanulók számára, és megkönnyíteni az SQL csatlakozások megértését. Továbbá, a funkciók SQL, sok ember gondjai vannak, hogy megértsék a tényleges működési funkció. Mivel az SQL sok adatot tartalmaz ömlesztve különböző adatbázis-és táblanevekben. A függvény egy tárolt program az SQL Server adatbázisban, ahol átadhatja a paramétereket, és visszaadhatja az értéket. Így, adtam néhány hasznos kifejezést a funkciók működéséről.

  • ról ről
  • legújabb hozzászólások
kövessetek!

adatbázis adminisztrátor a Loginworks szoftvereknél
adatbázis adminisztrátor vagyok, aki felelős a vállalati adatbázisok integritásának és teljesítményének fenntartásáért. Garantálom, hogy az adatokat biztonságosan tárolják, és biztosítják, hogy minden felhasználó tájékoztatást kapjon a változásokról. Eltekintve a technológiai bináris fájlok ezen nagy részének kezelésétől, szeretek kis dolgokat élvezni az életemben. Lelkes étel vagyok, aki szereti felfedezni a kultúránk által kínált különlegességek bőségét. Én is a sport, különösen a krikett. Gondoskodom arról, hogy soha ne hagyjam ki a hétvégi reggeli krikettmérkőzéseimet a régi barátaim mellett. Teljes mértékben ápolom mind a szakmai, mind a személyes életemet.

kövessetek!

Imran Saifi legújabb hozzászólásai (az összes megtekintése)
  • különbség az SQL és a MySQL között-április 14, 2020
  • hogyan kell dolgozni a Subquery-vel az Adatbányászatban-március 23, 2018
  • hogyan kell használni a JavaScript böngésző funkcióit? – Március 9, 2018

Write a Comment

Az e-mail-címet nem tesszük közzé.