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.

Š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: