SQL užklausa datą ir laiką konvertuoti į datą
MS SQL Server naujokams datos yra sudėtingos, nes dirbant su duomenų baze, norint įterpti, lentelės datos formatas turi atitikti įvestą datą. Įvairiuose scenarijuose vietoj datos naudojamas DateTime (laikas taip pat susijęs su data). Šiame straipsnyje sužinosime, kaip datos laiką konvertuoti į DATE naudojant tris skirtingas funkcijas.
- PAVERSTI( )
- TRY_CONVERT ( )
- Naudojant poeilelę
Šio straipsnio duomenų tikslas yra konvertuoti DateTime į datą SQL serveryje, pvz., YYYY-MM-DD HH:MM: SS į YYYY-MM-DD.
1 būdas: liejimo naudojimas
Tai funkcija, skirta perduoti vieną tipą į kitą tipą, todėl čia mes naudosime DateTime iki šiol.
Sintaksė:
CAST( dateToConvert AS DATE)
1 pavyzdys:
Užklausa:
SELECT CAST(GETDATE() AS DATE) AS CURRENT_DATE
Išvestis:
GETDATE(): Ši funkcija grąžina dabartinę datą ir laiką, pvz., (2021-08-27 17:26:36.710)
2 pavyzdys;
Užklausa:
SELECT CAST('2021-08-27 17:26:36.710' AS DATE) AS CURRENT_DATE_GFG Išvestis:
2 būdas: Konvertavimo naudojimas
Tai funkcija, skirta konvertuoti vieną tipą į kitą tipą, todėl čia mes ją naudosime norėdami konvertuoti DateTime į datą.
Sintaksė:
CONVERT(DATE, dateToConvert)
1 pavyzdys:
Užklausa:
SELECT CONVERT(DATE, GETDATE()) AS CURRENT_DATE_GFG
Išvestis:
2 pavyzdys:
Užklausa:
SELECT CONVERT(DATE, '2021-08-27 17:26:36.710' ) AS CURRENT_DATE_GFG
Išvestis:
3 būdas: Try_Convert
Tai funkcija, skirta perkelti vieną tipą į kitą tipą, todėl čia mes naudosime konvertuoti datą ir laiką į datą. jei data neteisinga, ji bus nulinė, o konvertuoti sugeneruos klaidą.
Sintaksė:
TRY_CONVERT(DATE, dateToConvert)
SELECT TRY_CONVERT(DATE,’2021-08-27 17:26:36.710′) AS CURRENT_DATE_GFG
1 pavyzdys:
Užklausa:
SELECT TRY_CONVERT(DATE,GETDATE()) AS CURRENT_DATE_GFG
Išvestis:
2 pavyzdys:
Užklausa:
SELECT TRY_CONVERT(DATE,'2021-08-27 17:26:36.710') AS CURRENT_DATE_GFG
Išvestis:
4 būdas: poeilutės naudojimas
Tai funkcija, skirta gauti trumpą eilutę arba eilutę, todėl čia gauname poeilutės indeksą nuo 0 iki 11.
Sintaksė:
SUBSTRING( dateToConvert ,0,11)
1 pavyzdys:
Užklausa:
SELECT SUBSTRING( '2021-08-27 17:26:36.710' ,0,11) AS CURRENT_DATE_GFG
Išvestis:
2 pavyzdys;
Užklausa:
SELECT SUBSTRING( CONVERT(varchar(17), GETDATE(), 23) ,0,11) AS CURRENT_DATE_GFG
Išvestis: