Как получить время из формата 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
14 ответов:
SQL Server 2008:
select cast(AttDate as time) [time] from yourtableболее ранние версии:
select convert(char(5), AttDate, 108) [time] from yourtable
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))
попробуйте это, он будет работать:
CONVERT(VARCHAR(8),DATETIME,114)для ссылка.
Я часто использую этот скрипт, чтобы получить время от DateTime:
SELECT CONVERT(VARCHAR(9),RIGHT(YOURCOLUMN_DATETIME,9),108) FROM YOURTABLE
Если вы хотите дату что-то в этом стиле: 23 октября 2013 10:30 утра
использовать
SELECT CONVERT(NVARCHAR(30),getdate(), 100)
convert()метод принимает 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