Az SQL-ben a táblázat oszlopai egy adott érték, például számok, dátumok vagy szöveg tárolására szolgálnak; ezeket adattípusoknak nevezik. Több mint harminc típusú SQL server adattípusok közül lehet választani, adattípusok tűnhet megfélemlítő, de a valóságban, csak néhány általánosan használt adatbázisokban.
miután megértette az adattípusokat általában, ez nem bonyolult téma. Azt is meg fogja érteni, hogy miért van szükség adattípusokra, és miért van olyan sok fajta.,
ebben a cikkben áttekintjük a leggyakoribb adattípusokat és azok használatának legjobb gyakorlatait.
az összes példa erre a leckére a Microsoft SQL Server Management Studio és a AdventureWorks2012 adatbázison alapul. Kezdje el használni ezeket az ingyenes eszközöket az útmutatómmal az SQL Server használatának megkezdése.
mik az SQL Server adattípusok?
mielőtt bekerülnénk az SQL Serverben használt adattípusokba, úgy gondolom, hogy mindenki számára fontos megérteni, hogy mi az adattípus, és miért van szükség a számítógépekben való használatra.
példánkban egy személyről beszélünk., Ha arra gondolt, hogy az információt lehetne használni, hogy leírja a személy lehet gondolni, hogy összegyűjti a nevét, születési dátum, súly, és a gyermekek száma. Ezen attribútumok mindegyikére az adatok általában több kategóriába tartoznak.
A neveket szövegként, a születési dátumokat naptári dátumként, a súlyt decimális értékként, valamint számos gyermeket egész számként tárolják. Ezen értékkategóriák mindegyike adattípus.
hogyan SQL Types Help
adattípusok határozzák meg a jellemzőit az adatokat lehet tárolni olyan helyen, mint egy adatbázis oszlop., Az adattípus meghatározza az elfogadott értékek lehetséges készletét. Például egy olyan INT típus, amely egész számot jelent az SQL Serverben, csak teljes számokat fogadhat el, decimális értékek nem engedélyezettek.
itt van néhány ember és koruk felsorolása
látja a problémát ezekkel a korokkal? Mind inkonzisztens formában vannak. Nem csak nehezen olvashatók, de az adatok válogatása és kiszámítása is nehéz., Az SQL Server adattípusok használatával, amelyek betartatják a tárolandó adatok várható típusát, sokkal jobb eredményt érhetünk el. Itt található ugyanaz a táblázat, mint a
amikor az életkor egész számként van definiálva, az elvárás az adatok egész számként kerülnek megadásra.
továbbá, anélkül, hogy belemennénk a technikai részletekbe, láthatjuk, hogy az életkor egészként történő tárolása sokkal kevesebb helyet foglal el, mint az első táblázatban szereplő életkor., Ez nem tűnik hatalmas szempontnak a kis adatbázisokkal, de amikor okostelefonokon vagy “nagy adat” forgatókönyveken dolgozik, ezek a megfontolások összeadódnak.
miután a rendszer megérti az adattípust, akkor majd rendezni az adatokat olyan sorrendben, hogy van értelme, valamint a számítások elvégzésére.
az SQL Server adattípusok használatának okai
Íme néhány ok, amiért az adattípusok fontosak:
- Az adatok konzisztens és ismert formátumban vannak tárolva.
- Az adattípus ismerete lehetővé teszi, hogy megtudja, mely számításokat és készítményeket használhatja az oszlopon.,
- az adattípusok befolyásolják a tárolást. Egyes értékek több helyet foglalnak el, ha egy adattípusban tárolják a másikhoz képest. Vegyük például a fenti kortáblázatokat.
- az adattípusok befolyásolják a teljesítményt. Minél kevesebb idő van az adatbázisnak az értékek alapján, vagy annál jobb átalakítani őket. “2015. December 32-E dátum?”
általánosan használt SQL Server adattípusok
Az SQL-ben meghatározza, hogy milyen adatokat kell tárolni az oszlopokon belül. Néhány példa szöveges vagy numerikus adatokat tartalmaz.,
Ez az oszlop adattípusa, és az egyik legfontosabb tulajdonsága, mivel önmagában meghatározza, hogy egy érték érvényes-e egy oszlopban történő tárolásra.
Több mint harminc különböző adattípus közül választhat az oszlopok meghatározásakor, egyesek speciális felhasználásokkal rendelkeznek, például képek tárolása.
ebben a cikkben lefedjük azt a hét adattípust, amelyekkel leggyakrabban találkozik az SQL mindennapi használata során., Ezek a következők:
- INT
- VARCHAR, Nvarchar
- DATETIME
- decimális, FLOAT
- BIT
INT – Integer data Type
az egész adattípus egész számokat tárol. Példák: -23, 0, 5 és 10045. A teljes számok nem tartalmaznak tizedesjegyeket. Mivel az SQL server számos számítógépes szót használ egy egész szám ábrázolására, vannak olyan maximális és minimális értékek, amelyeket képviselhet. Egy INT adattípus képes tárolni egy értéket -2,147,483,648 hogy 2,147,483,647.,
Az INT adattípus gyakorlati felhasználása magában foglalja az értékek számítását, az ember életkorának tárolását vagy a táblázat azonosító kulcsaként történő használatát.
de INT nem lenne olyan jó, hogy nyomon követhesse a terabyte merevlemez címterület, mint az INT adattípus csak megy 2 milliárd, és mi kellene nyomon követni a billió. Ehhez jól jönne a BIGINT.
az INT adattípus számításokon belül használható., Mivel DaysToManufacture definiáljuk INT tudjuk könnyen kiszámítja óra szorozzuk meg 24:
Itt láthatja, hogy az eredmények
sok műveletek, függvények segítségével egész szám, amely fedezzük ha mélyebbre ásunk funkciók.,
VARCHAR és NVARCHAR-Text Values
Varchar és NVARCHAR segítségével tárolja a változó hosszúságú szövegértékeket. “VARCHAR” jelentése változó hosszúságú karakter.
adja meg a VARCHARBAN vagy nvarcharban tárolandó karakterek számát az oszlop meghatározása szerint. Figyeljük meg, hogy a név határozza meg, hogy tartsa ötven karakter:
ami VARCHAR népszerű, hogy az értékek kevesebb, mint ötven karakter kevesebb helyet. A helyet szükség szerint osztják ki., Ez eltér a CHAR adattípustól, amely mindig elosztja a megadott hosszúságot, függetlenül a tényleges tárolt adatok hosszától.
a VARCHAR adattípus általában legfeljebb 8000 karaktert tárolhat. Az Nvarchar adattípus segítségével tárolhatja a Unicode szöveget. Mivel a UNICODE karakterek kétszer annyi helyet foglalnak el, az NVARCHAR oszlopok legfeljebb 4000 karaktert tárolhatnak.
az Nvarchar előnye a VARCHAR felett, hogy képes Unicode karaktereket tárolni. Ez megkönnyíti a kiterjesztett karakterkészletek tárolását, mint például a kandzsi nyelvekhez.,
Az SQL 2008 előtt tervezett adatbázisok általában VARCHAR-t használnak; azonban a modernebb adatbázisok vagy a globális jellegűek általában Nvarchar-t használnak.
DATETIME-Date and Time
a datetime adattípus segítségével tárolja a dátumot és az időt. A DATATIME érték például
1968-10-23 1:45:37.123
Ez az érték 1968.október 23-án 1:45 órakor. Valójában az idő ennél pontosabb. Az idő valóban 45 perc, 37.123 másodperc.
sok esetben csak a dátumot kell tárolnia. Ezekben az esetekben az időkomponens nullázódik., Így 1972. November 5.
1972-11-05 00:00:00.000
a DATETIME 1753.január 1-jétől 9999. December 31-ig tárolható. Ez teszi a DATETIME jó felvétel dátumait a mai világban, de nem annyira William Shakespeare.
ahogy jobban ismerik a különböző SQL beépített funkciók akkor képes lesz arra, hogy manipulálják az adatokat. Ahhoz, hogy egy pillantást, fogjuk használni az év funkció számolni alkalmazottak bérelt minden évben. Ha DATETIME értéket kap, az év funkció visszaadja az évet.,
az általunk használt lekérdezés
az előny a DATETIME Típus biztosítja az értékek érvényes dátumait. Ha ez biztosított, képesek vagyunk használni egy rakás funkciók kiszámításához a napok száma dátumok között, a hónap egy dátum, stb.
ezeket a különféle funkciókat részletesen egy másik blog cikkben fogjuk megvizsgálni.
decimális és FLOAT-decimális pontok
mind a decimális, mind az úszó adattípusokat használja a decimális értékek, például a 10.3 használatához.,
i összefutott decimális és lebegnek ugyanabba a kategóriába, mivel mindkettő képes kezelni értékeket tizedes pontokkal; azonban, mindketten ezt másképp:
Ha szüksége van pontos értékeket, mint például amikor dolgozik pénzügyi vagy számviteli adatok, akkor használja decimális. Ennek oka a decimális adattípus lehetővé teszi a tizedes pontok számának meghatározását.
decimális
a decimális adattípusokat precizitás és skála határozza meg. A pontosság határozza meg a tárolandó összes számjegy számát; mivel a skála határozza meg a tizedes ponttól jobbra lévő számjegyek számát.,
a decimális adattípus decimális(pontosság,skála).
a decimális adattípus nem lehet több, mint 38 számjegy. A precizitásnak és a skálának a gyártás során a következő
0 <= scale <= precision <= 38 digits
relációnak kell megfelelnie.Termék táblázat, a súly oszlop adattípusa tizedes (8,2). Az első számjegy a pontosság, a második a skála.
a súly meghatározása szerint nyolc teljes számjegy van, ezek közül kettő a tizedes helytől jobbra. A következő minta lekérdezést fogjuk bemutatni, hogy ez az adattípus hogyan működik.,
FLOAT
ahol a decimális datatypes nagy a pontos számokhoz, az úszók nagyon jók a hosszú numerikus értékekhez. Bár a tizedes értéknek összesen 38 számjegye lehet, sok mérnöki és tudományos alkalmazásban ez nem megfelelő. A float a tudományos alkalmazásokon belül a csúcsra emelkedik, ahol szélsőséges numerikus értékek találhatók!
az úszók tartománya – 1.,79E+308 hogy 1.79 E + 308. Ez azt jelenti, hogy a legnagyobb érték 179 lehet, amelyet 306 nulla követ (valóban nagy!).
a lebegőpontos adatok számítógépen történő tárolásának módja miatt (lásd IEEE 754 lebegőpontos specifikáció) a tárolt szám rendkívül közelítő. Sok alkalmazáshoz ez elég jó.
a hozzávetőleges viselkedés miatt kerülje a <> és = operátorok használatát a WHERE pontban. Ez a kijelentés égett május DBAs!
WHERE mass = 2.5
várakozásuk szaggatott, ha a tömegnek 2-nek kell lennie.,5, de valójában a számítógépen 2.499999999999999999999; ezért nem egyenlő 2.500000000000000!
Ez a lebegőpontok és számítógépek természete. Te és én 2.499999999999999-et látunk, és azt gondoljuk, hogy gyakorlati szempontból ez 2.5, de a számítógépnek csak egy kicsit volt kikapcsolva. J
BIT-logikai vagy Igen/Nem értékek
vannak esetek, amikor csak meg kell tárolni, hogy valami “van” vagy “nem.”Például, hogy egy alkalmazott aktív-e. Ezekben az esetekben a BIT adattípus sajátja. Ez az adattípus egyike a három állapotnak: 1, 0 vagy NULL.,
az 1 értéke TRUE és 0 FALSE értéket jelent.
ebben a lekérdezésben felsoroljuk az összes fizetett pozíciójobcímet
1 helyett “True” – t is használhattunk volna. Itt van ugyanaz a példa a “True”
használatával