Как получить время из формата DateTime в SQL?



Я хочу получить только время из столбца DateTime с помощью SQL-запроса
использование SQL Server 2005 и 2008
Вывод по умолчанию:



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


Я хотел бы этот вывод:



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

14 ответов:

SQL Server 2008:

select cast(AttDate as time) [time]
from yourtable

более ранние версии:

select convert(char(5), AttDate, 108) [time]
from yourtable

предполагая Sql server

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

SQL Server 2008+ имеет тип данных "время"

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

для более старых версий, без преобразования типа varchar

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

самый простой способ получить время из datetime без миллисекундного стека:

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

попробуйте использовать этот

  • дата и время

    select cast(getdate() as time(0))
    
  • время до TinyTime

    select cast(orig_time as time(0))
    

попробуйте это:

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

попробуйте это, он будет работать:

CONVERT(VARCHAR(8),DATETIME,114)

для ссылка.

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

Я часто использую этот скрипт, чтобы получить время от DateTime:

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

чтобы получить время от времени, мы можем использовать

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

Если вы хотите дату что-то в этом стиле: 23 октября 2013 10:30 утра

использовать

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

convert() метод принимает 3 параметра

  1. тип
  2. Столбец/Значение
  3. стиль: доступные стили от 100 до 114. Вы можете выбрать в диапазоне от. Выберите один за другим, чтобы изменить формат даты.
select cast (as time(0))

было бы хорошим предложением. Например:

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

получить дату сервера

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

или

если он хранится в таблице

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

результат:

11:41AM

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

выход: с

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

Comments

    Ничего не найдено.