Query SQL per convertire la data e l'ora in data
In MS SQL Server, le date sono complicate per i principianti, poiché mentre si lavora con il database, il formato della data nella tabella deve corrispondere alla data di input per poter essere inserita. In vari scenari al posto della data viene utilizzato DateTime (anche l'ora è coinvolta nella data). In questo articolo impareremo come convertire un DateTime in una DATE utilizzando le tre diverse funzioni.
- CONVERTI( )
- PROVA_CONVERTI( )
- Utilizzo della sottostringa
Lo scopo dei dati di questo articolo è convertire DateTime in Date in SQL Server come AAAA-MM-GG HH:MM: SS in AAAA-MM-GG.
Metodo 1: utilizzo del cast
Questa è una funzione per trasmettere un tipo a un altro tipo, quindi qui utilizzeremo per trasmettere DateTime fino ad oggi.
Sintassi:
CAST( dateToConvert AS DATE)
Esempio 1:
Domanda:
SELECT CAST(GETDATE() AS DATE) AS CURRENT_DATE
Produzione:
DATA GET(): Questa funzione restituisce la data e l'ora corrente come (2021-08-27 17:26:36.710)
Esempio 2;
Domanda:
SELECT CAST('2021-08-27 17:26:36.710' AS DATE) AS CURRENT_DATE_GFG Produzione:
Metodo 2: utilizzo di Convert
Questa è una funzione per convertire un tipo in un altro tipo, quindi qui la useremo per convertire DateTime fino ad oggi.
Sintassi:
CONVERT(DATE, dateToConvert)
Esempio 1:
Domanda:
SELECT CONVERT(DATE, GETDATE()) AS CURRENT_DATE_GFG
Produzione:
Esempio 2:
Domanda:
SELECT CONVERT(DATE, '2021-08-27 17:26:36.710' ) AS CURRENT_DATE_GFG
Produzione:
Metodo 3: Try_Convert
Questa è una funzione per trasmettere un tipo a un altro tipo, quindi qui lo useremo per convertire DateTime fino ad oggi. se la data non è valida allora sarà nulla mentre Convert genera un errore.
Sintassi:
TRY_CONVERT(DATE, dateToConvert)
SELEZIONA TRY_CONVERT(DATA,'2021-08-27 17:26:36.710′) COME CURRENT_DATE_GFG
Esempio 1:
Domanda:
SELECT TRY_CONVERT(DATE,GETDATE()) AS CURRENT_DATE_GFG
Produzione:
Esempio 2:
Domanda:
SELECT TRY_CONVERT(DATE,'2021-08-27 17:26:36.710') AS CURRENT_DATE_GFG
Produzione:
Metodo 4: utilizzo della sottostringa
Questa è una funzione da utilizzare per ottenere una stringa o una sottostringa breve, quindi qui otteniamo l'indice della sottostringa da 0 a 11.
Sintassi:
SUBSTRING( dateToConvert ,0,11)
Esempio 1:
Domanda:
SELECT SUBSTRING( '2021-08-27 17:26:36.710' ,0,11) AS CURRENT_DATE_GFG
Produzione:
Esempio 2;
Domanda:
SELECT SUBSTRING( CONVERT(varchar(17), GETDATE(), 23) ,0,11) AS CURRENT_DATE_GFG
Produzione: