Hoe haal ik tijd uit het DateTime-formaat in SQL?

Ik wil alleen de tijd uit de kolom DateTime halen met behulp van een SQL-query
met SQL Server 2005 en 2008
Standaarduitvoer:

AttDate                   
==
2011-02-09 13:09:00    
2011-02-09 14:10:00    

Ik wil graag deze uitvoer:

AttDate                Time 
==
2011-02-09 13:09:00    13:09
2011-02-09 14:10:00    14:10

Antwoord 1, autoriteit 100%

SQL Server 2008:

SELECT cast(AttDate as time) [time]
FROM yourtable

Eerdere versies:

SELECT convert(char(5), AttDate, 108) [time]
FROM yourtable

Antwoord 2, autoriteit 10%

Ervan uitgaande dat SQL-server

SELECT CONVERT(VARCHAR(8),GETDATE(),108)


Antwoord 3, autoriteit 7%

SQL Server 2008+ heeft een “time” datatype

SELECT 
    ..., CAST(MyDateTimeCol AS time)
FROM
   ...

Voor oudere versies, zondervarchar-conversies

SELECT 
    ..., DATEADD(dd, DATEDIFF(dd, MyDateTimeCol, 0), MyDateTimeCol)
FROM
   ...

Antwoord 4, autoriteit 3%

De eenvoudigste manier om de tijd van datetime te krijgen zonder milliseconde stack is:

SELECT convert(time(0),getDate())

Antwoord 5, autoriteit 3%

Probeer dit te gebruiken

  • Datum tot tijd

    select cast(getdate() as time(0))
    
  • Time to Tinytime

    select cast(orig_time as time(0))
    

Antwoord 6

Probeer dit, het zal werken:

CONVERT(VARCHAR(8),DATETIME,114)

voor uw referentie .


Antwoord 7

Probeer dit:

select  convert(nvarchar,CAST(getdate()as time),100)

Antwoord 8

Krijg de datum van de server

SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), GETDATE(), 100), 7)) FROM TABLENAME WHERE ...

of

Als het in de tabel

is opgeslagen

SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), datename, 100), 7)) FROM TABLENAME WHERE ...

Resultaat:

11:41 AM


Antwoord 9

select AttDate,convert(char(5), AttDate, 108) [Time] from yourTableName


Antwoord 10

select cast (as time(0))

zou een goede clausule zijn. Bijvoorbeeld:

(select cast(start_date as time(0))) AS 'START TIME'

Antwoord 11

Ik gebruik dit script vaak om tijd van datetime te krijgen:

SELECT CONVERT(VARCHAR(9),RIGHT(YOURCOLUMN_DATETIME,9),108) FROM YOURTABLE

Antwoord 12

Om de tijd van datetime te krijgen, kunnen we

gebruiken

SELECT CONVERT(VARCHAR(20), GETDATE(), 114)

Antwoord 13

Als u dateert Datum in deze stijl: 23 oktober 2013 10:30 AM

Gebruik dit

SELECT CONVERT(NVARCHAR(30),getdate(), 100)

convert()methode duurt 3 parameters

  1. datatype
  2. kolom / waarde
  3. Stijl: beschikbare stijlen zijn van 100 tot 114. U kunt binnen het bereik kiezen van. Kies een voor één om het datumformaat te wijzigen.

Antwoord 14

op MSSQL2012 of hoger

cast(dateadd(ms,datediff(ms, [StartDateTime], [StopDateTime]),0) as Time(0))

… of …

convert(time(0),dateadd(ms,datediff(ms, [StartDateTime], [StopDateTime]),0) )

Antwoord 15

select convert(char(5), tbl_CustomerBooking.CheckInTime, 108) AS [time]
from tbl_CustomerBooking

Antwoord 16

SQL Server 2012:

Select TRY_CONVERT(TIME, myDateTimeColumn) from myTable;

persoonlijk, ik geef de voorkeur aan try_convert () om () te converteren. Het belangrijkste verschil: als cast mislukt, retourneert Try_Convert () null terwijl Converteren () een fout verhoogt.


Antwoord 17

U kunt dit gebruiken:

SELECT CONVERT(VARCHAR(5), GETDATE(),8)  

Uitgang:

08:24

Antwoord 18

select substr(to_char(colUmn_name, 'DD/MM/RRRR HH:MM:SS'),11,19) from table_name;

Uitvoer: van

05:11:26
05:11:24
05:11:24

Other episodes