logo

SQL dotaz na konverziu dátumu a času na dátum

V MS SQL Server sú dátumy pre nováčikov komplikované, keďže pri práci s databázou musí formát dátumu v tabuľke súhlasiť so vstupným dátumom, aby bolo možné vložiť. V rôznych scenároch sa namiesto dátumu používa DateTime (čas je tiež spojený s dátumom). V tomto článku sa naučíme, ako previesť DateTime na DATE pomocou troch rôznych funkcií.

zoznam šípok

Cieľom údajov tohto článku je previesť dátum a čas na dátum na serveri SQL, ako je RRRR-MM-DD HH:MM: SS na RRRR-MM-DD.



Metóda 1: Použitie odliatku

Toto je funkcia na pretypovanie jedného typu na iný typ, takže tu použijeme na pretypovanie DateTime k dátumu.

Syntax:

CAST( dateToConvert AS DATE)>

Príklad 1:



Dopyt:

SELECT CAST(GETDATE() AS DATE) AS CURRENT_DATE>

Výkon:



GETDATE(): Táto funkcia vráti aktuálny dátum a čas ako (2021-08-27 17:26:36.710)

Príklad 2;

Dopyt:

SELECT CAST('2021-08-27 17:26:36.710' AS DATE) AS CURRENT_DATE_GFG>

Výkon:

Metóda 2: Použitie prevodu

Toto je funkcia na prevod jedného typu na iný typ, takže tu ju použijeme na prevod dátumu a času na dátum.

Syntax:

CONVERT(DATE, dateToConvert)>

Príklad 1:

Dopyt:

SELECT CONVERT(DATE, GETDATE()) AS CURRENT_DATE_GFG>

Výkon:

Príklad 2:

parseint java

Dopyt:

SELECT CONVERT(DATE, '2021-08-27 17:26:36.710' ) AS CURRENT_DATE_GFG>

Výkon:

Metóda 3: Try_Convert

Toto je funkcia na pretypovanie jedného typu na iný typ, takže tu budeme používať pre prevod dátumu a času na dátum. ak je dátum neplatný, potom bude nulový, kým Convert vygeneruje chybu.

Syntax:

TRY_CONVERT(DATE, dateToConvert)>

SELECT TRY_CONVERT(DATE,’2021-08-27 17:26:36.710′) AS CURRENT_DATE_GFG

Príklad 1:

Dopyt:

SELECT TRY_CONVERT(DATE,GETDATE()) AS CURRENT_DATE_GFG>

Výkon:

Príklad 2:

Dopyt:

SELECT TRY_CONVERT(DATE,'2021-08-27 17:26:36.710') AS CURRENT_DATE_GFG>

Výkon:

Metóda 4: Použitie podreťazca

Toto je funkcia, ktorá sa používa na získanie krátkeho reťazca alebo podreťazca, takže tu pomocou získame index podreťazca 0 až 11.

Syntax:

SUBSTRING( dateToConvert ,0,11)>

Príklad 1:

Dopyt:

všetky veľké písmená príkaz excel
SELECT SUBSTRING( '2021-08-27 17:26:36.710' ,0,11) AS CURRENT_DATE_GFG>

Výkon:

Príklad 2;

Dopyt:

SELECT SUBSTRING( CONVERT(varchar(17), GETDATE(), 23) ,0,11) AS CURRENT_DATE_GFG>

Výkon: