Я хочу получить только столбец Time from 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
SELECT CONVERT(VARCHAR(8),GETDATE(),108)
для сервера sqlОтветы:
SQL Server 2008:
Более ранние версии:
источник
Предполагая Sql сервер
SELECT CONVERT(VARCHAR(8),GETDATE(),108)
источник
SQL Server 2008+ имеет тип данных "время"
Для более старых версий, без преобразования varchar
источник
0
представляет минимальную дату1900-01-01
. Таким образом, это получает (отрицательное) количество дней между значением столбца и 0, затем добавляет те отрицательные дни к значению столбца, которое «обнуляет» часть даты,1900-01-01
и у вас остается только время.Самый простой способ получить время из datetime без стека миллисекунд:
источник
Попробуйте использовать это
Дата к времени
Время TinyTime
источник
Попробуй это:
источник
Попробуйте это, это будет работать:
Для вашей справки .
источник
select AttDate,convert(char(5), AttDate, 108) [Time] from yourTableName
источник
было бы хорошим предложением. Например:
источник
Я часто использую этот скрипт, чтобы получить Time от DateTime:
источник
Чтобы получить время от datetime, мы можем использовать
источник
Если вы хотите что-то встретить в этом стиле: 23 октября 2013 10:30
Использовать это
convert()
метод принимает 3 параметраисточник
Получить дату сервера
или
Если он хранится в таблице
Результат:
источник
источник
на MSSQL2012 или выше
...или...
источник
SQL Server 2012:
Лично я предпочитаю TRY_CONVERT (), а не CONVERT (). Основное отличие: в случае сбоя приведения TRY_CONVERT () возвращает значение NULL, а CONVERT () вызывает ошибку.
источник
select substr(to_char(colUmn_name, 'DD/MM/RRRR HH:MM:SS'),11,19) from table_name;
Выход: из
источник
'to_char' is not a recognized built-in function name.