SQL vaicājums, lai datumu un laiku pārvērstu par datumu
MS SQL Server iesācējiem datumi ir sarežģīti, jo, strādājot ar datu bāzi, datuma formāts tabulā ir jāsaskaņo ar ievades datumu, lai to ievietotu. Dažādos scenārijos datuma vietā tiek izmantots DateTime (laiks ir saistīts arī ar datumu). Šajā rakstā mēs uzzināsim, kā pārveidot DateTime par DATE, izmantojot trīs dažādas funkcijas.
- KONVERTĒT( )
- TRY_CONVERT( )
- Izmantojot apakšvirkni
Šī raksta datu mērķis ir konvertēt DateTime uz datumu SQL serverī, piemēram, GGGG-MM-DD HH:MM: SS uz GGGG-MM-DD.
1. metode: lējuma izmantošana
Šī ir funkcija viena veida apraidei uz citu tipu, tāpēc šeit mēs izmantosim datuma un laika apraidi līdz datumam.
Sintakse:
CAST( dateToConvert AS DATE)
1. piemērs:
Vaicājums:
SELECT CAST(GETDATE() AS DATE) AS CURRENT_DATE
Izvade:
GETDATE(): Šī funkcija atgriež pašreizējo datumu un laiku, piemēram, (2021-08-27 17:26:36.710)
2. piemērs;
Vaicājums:
SELECT CAST('2021-08-27 17:26:36.710' AS DATE) AS CURRENT_DATE_GFG Izvade:
2. metode: Konvertēšanas izmantošana
Šī ir funkcija viena veida konvertēšanai uz citu veidu, tāpēc šeit mēs to izmantosim, lai datumu un laiku pārvērstu par datumu.
Sintakse:
CONVERT(DATE, dateToConvert)
1. piemērs:
Vaicājums:
SELECT CONVERT(DATE, GETDATE()) AS CURRENT_DATE_GFG
Izvade:
2. piemērs:
Vaicājums:
SELECT CONVERT(DATE, '2021-08-27 17:26:36.710' ) AS CURRENT_DATE_GFG
Izvade:
3. metode: Try_Convert
Šī ir funkcija viena veida pārsūtīšanai uz citu tipu, tāpēc šeit mēs izmantosim datuma un laika konvertēšanai uz datumu. ja datums nav derīgs, tas būs nulle, kamēr Convert ģenerē kļūdu.
Sintakse:
TRY_CONVERT(DATE, dateToConvert)
SELECT TRY_CONVERT(DATE,’2021-08-27 17:26:36.710′) AS CURRENT_DATE_GFG
1. piemērs:
Vaicājums:
SELECT TRY_CONVERT(DATE,GETDATE()) AS CURRENT_DATE_GFG
Izvade:
2. piemērs:
Vaicājums:
SELECT TRY_CONVERT(DATE,'2021-08-27 17:26:36.710') AS CURRENT_DATE_GFG
Izvade:
4. metode: apakšvirknes izmantošana
Šī ir funkcija, kas jāizmanto, lai iegūtu īsu virkni vai apakšvirkni, tāpēc šeit mēs iegūstam apakšvirknes indeksu no 0 līdz 11.
Sintakse:
SUBSTRING( dateToConvert ,0,11)
1. piemērs:
Vaicājums:
SELECT SUBSTRING( '2021-08-27 17:26:36.710' ,0,11) AS CURRENT_DATE_GFG
Izvade:
2. piemērs;
Vaicājums:
SELECT SUBSTRING( CONVERT(varchar(17), GETDATE(), 23) ,0,11) AS CURRENT_DATE_GFG
Izvade: