Aflați cum să utilizați SQL Server Data Funcții

SQL server Data Funcții vă oferă un set de funcții pe care le puteți utiliza pentru a manipula datele. Funcția este utilizată pentru o mare varietate de operații, cum ar fi adăugarea de săptămâni la o dată, calcularea diferenței dintre două date sau descompunerea unei date în părțile sale fundamentale.dacă nu sunteți familiarizați cu funcțiile SQL, atunci aș recomanda să vă uitați cu introducerea funcțiilor încorporate SQL Server.

pentru a profita la maximum de acest lucru și alte lecții noastre asigurați-vă că pentru a practica folosind exemplele!,

toate exemplele pentru această lecție se bazează pe Microsoft SQL Server Management Studio și baza de date AdventureWorks2012. Puteți începe să utilizați aceste instrumente gratuite folosind ghidul meu Noțiuni de bază folosind SQL Server.

Introducere în SQL Server Data Funcții

există peste douăzeci și cinci de funcții diferite clasificate ca data funcții în SQL server.

toate funcțiile sunt listate pe Pagina data Functions (Transact-SQL). Aș recomanda vizitarea acelei pagini pentru a afla despre fiecare funcție.,

în loc să reiterăm acest material, ne vom concentra pe funcțiile pe care le-am văzut în mod obișnuit utilizate în afaceri.

în tabelele următoare am clasificat funcțiile și le-am codificat prin culori. Codul de culoare corespunde probabil capota v-ar folosi această funcție special într-un mediu de afaceri. Verde sunt cel mai probabil să fie utilizate, și roșu mai puțin.

aceasta nu este o scară strictă și toate funcțiile au o utilizare în unele cazuri de afaceri, dar am vrut o modalitate de a vă ajuta să câștigați câmpul la cele mai relevante.,

Aici este încercarea mea:

DateTime Functons – cele Mai Frecvente sunt de Culoare Verde

Funcții utilizate pentru a obține Data și Ora Curentă

De toate funcțiile care sunt utilizate pentru a reveni la data curentă și ora, GETDATE funcție este cel mai frecvent utilizate funcții.

GETDATE

funcția GETDATE este utilizată pentru a returna datele curente și ora serverului. Această funcție devine utilă atunci când trebuie să comparați datele, cum ar fi ultima dată de plată cu data curentă.,

forma generală a GETDATE funcție este

GETDATE()

Aici este un exemplu folosind GETDATE

SELECT GETDATE()

Care se întoarce 2015-08-09 21:55:00.477

mai util este de exemplu este de a utiliza GETDATE cu DATEDIFF sau DATEADD. Check out DATEDIFF pentru un exemplu mai cuprinzător.

funcții pentru a obține Date Parts

Data parts se referă la diferite componente ale unei date, cum ar fi anul, luna sau ziua. Părțile de date sunt utilizate în mai multe funcții din această secțiune și altele., Aici este un tabel de data părți pe care le puteți folosi în funcție, cum ar fi DATENAME, DATEPART, DATEDIFF, și DATEADD.

Datepart Valori

numele sunt destul de auto-explicative. Fiecare parte dată corespunde unei perioade bine cunoscute, cum ar fi luna sau ora.

DATENAME

DATENAME este o funcție foarte utilă care este utilizată pentru a returna diferite părți ale unei date, cum ar fi numele lunii sau ziua săptămânii corespunzătoare unei anumite date.,

forma generală a DATENAME este

DATENAME(date part, value)

în cazul în Care data parte corespunde o listă de piese predefinite și valoarea este data la care lucrezi.această funcție returnează o valoare de caracter.

aici este un exemplu care arată diferite părți data în acțiune.

Presupunând GETDATE se întoarce 2015-08-10 12:56:25.313 de exemplu rezultatele interogării sunt

DATENAME Rezultate

Notă: Există multe alte componente puteți utiliza cu DATENAME., Puteți găsi o listă completă pe site-ul MSDN.

Iată un exemplu care arată cum puteți utiliza DATANAME pentru a efectua o analiză sumară a nivelului comenzilor.să presupunem că managerul de vânzări ar dori un rezumat al vânzărilor săptămânale. Folosind funcția DATENAME putem furniza aceste informații.

Aici sunt rezultatele

DATENAME – Notificare OrderWeek este sortate ca un personaj valoare

vreau să subliniez, că, deși ne-clasificate în funcție de an și săptămână, săptămâni par să fie în ordine., Acest lucru se datorează faptului că OrderWeek returnat este o valoare de caracter. Pentru a sorta apoi numeric avem nevoie pentru a converti rezultatul la o valoare numerică.

Ne-am putea converti cu ușurință valoarea în clauza ORDER BY, dar care nu este necesară odată ce ați afla despre DATEPART

DATEPART

Returnează un număr întreg care reprezintă o anumită parte de o data. Acesta funcționează foarte similar cu DATENAME, în care specificați o parte dată și valoare, cu toate acestea, mai degrabă decât returnarea unei valori de text, cum ar fi „iulie”, se întoarce 7.,

forma generală a DATEPART este

DATEPART(date part, value)

unde partea dată corespunde unei liste de părți predefinite și valoarea este data cu care lucrați.această funcție returnează un număr întreg.

aici este un exemplu care arată diferite părți data în acțiune.

Presupunând GETDATE se întoarce 2015-08-10 12:56:25.313 de exemplu rezultatele interogării sunt

DATEPART Rezultate

Notă: Există multe alte componente puteți utiliza cu DATEPART., Puteți găsi o listă completă pe site-ul MSDN.

putem obține, de asemenea, un rezumat al totalurilor de vânzări folosind DATEPART așa cum am făcut pentru DATENAME. Aici este interogarea

observați că aceste rezultate sunt sortate în mod corect potrivit săptămână:

DATEPART Rezultate Sortate în Ordine Numerică

ZIUA, LUNA, ANUL

ZIUA, LUNA, și ANUL funcții schimb, bazat pe o data prevăzută, zi, lună, sau an ca un întreg.forma generală este aceeași pentru toate cele trei funcții., Pentru concizie vom arăta doar ziua, celelalte două funcții funcționează în mod similar.

Iată forma sa generală:

DAY(value)

unde valoarea este data cu care să lucrați.

Aici este un exemplu care arată aceste funcții în joc

SELECT HireDate, YEAR(HireDate) as HireYear, MONTH(HireDate) HireMonth, DAY(HireDate) as HireDayFROM HumanResources.Employee

Căror rezultate sunt:

ZI, LUNĂ, și rezultatele ANULUI

poate Ați observat că AN(valoare) este scurt mână DATEPART(an, valoare)., Ambele returnează același rezultat, aici este o instrucțiune SQL pe care o puteți încerca:

SELECT HireDate, YEAR(HireDate) as HireYear, DATEPART(year, HireDate) as HireYearFromDatePartFROM HumanResources.Employee

veți găsi echivalențe similare pentru lună și zi.

Modificarea și Găsirea Diferența de Date

DATEDIFF

funcția DATEDIFF întors la numărul de ani, luni, săptămâni sau zile între două date.

forma generală pentru DATEDIFF este

DATEDIFF(date part, start value, end value)

în cazul în Care data parte corespunde o listă de date predefinit părți, cum ar fi ani, luni, săptămâni și zile.

diferența este calculată între valoarea de pornire și valoarea finală.,această funcție poate părea un pic complicată, dar merită înțeleasă, deoarece are multe utilizări practice în SQL.

puteți să-l utilizați pentru a calcula numărul de zile un proiect de lege este trecut din cauza, sau numărul de zile sau săptămâni între două date.

luați în considerare acest exemplu:

vicepreședintele HR dorește să acorde tuturor angajaților un premiu pentru ani de serviciu. Ea ar dori să produs un raport al tuturor angajaților cu mai mult de zece ani de serviciu.,pentru a face acest lucru, vom folosi raportul DATEDIFF atât pentru a afișa numărul de ani de serviciu, cât și pentru a-i filtra pe cei cu mai puțin de zece ani de serviciu.

Aici este SQL

SELECT NationalIDNumber, HireDate, DATEDIFF(year, HireDate, GETDATE()) YearsOfServiceFROM HumanResources.EmployeeWHERE DATEDIFF(year, HireDate, GETDATE()) >= 10ORDER BY YearsOfService DESC

Căror rezultate sunt

DATEDIFF Rezultate

DATEADD

La DATEADD funcție este folosită pentru a adăuga ani, luni, săptămâni, zile sau între o întâlnire.,

forma generală pentru DATEADD este

DATEADD(data parte, numărul, valoarea)

în cazul în Care data parte corespunde o listă de date predefinit părți, cum ar fi ani, luni, săptămâni și zile și număr specifică numărul de data de părți pentru a adăuga valoare.

dacă numărul este pozitiv, atunci acel număr de părți de dată sunt adăugate la valoarea.

dacă numărul este negativ, atunci efectiv părțile de dată sunt scăzute din valoare.această funcție poate părea un pic complicată, dar merită înțeleasă, deoarece are multe utilizări practice în SQL.,puteți să-l utilizați pentru a calcula numărul de zile până la factura este trecut din cauza, sau numărul de zile sau săptămâni în viitor sau trecut.

luați în considerare acest exemplu:

managerul de vânzări a vorbit cu managerul de producție despre vânzarea de articole pe web. Vor să producă bicicletele așa cum sunt comandate. În cazul în care bicicletele au fost comandate astăzi, atunci când ar putea fi acestea să fie disponibile pentru a navei la client?

dacă vă uitați la tabelul de produse, veți vedea că există un câmp DaysToManufacture. Folosind acest lucru cu DATEADD împreună cu GETDATE () putem calcula numărul de zile în viitor.,

SELECT NAME, DaysToManufacture, GETDATE() as Today, DATEADD(day, DaysToManufacture, GETDATE()) EarliestDateFROM Production.ProductWHERE DaysToManufacture > 1

The results for this are

Use DATEADD to add DAYS to a DATE

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *