Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > Время в MSSQL2005


Автор: yupie 10.10.2006, 18:48
Есть строчка(в смысле данные строковые), которая символизирует собой время. Это самое время из неё надо получить.  Вариант 
Код

convert(datetime,<поле>,14)

Просто тупо возвращает ошибку. Что-то вроде:
Цитата

The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.

или простой родимый out-of-range. smile 
Время в стоке выглядит так HHmmss

Автор: HalkaR 11.10.2006, 09:09
yupie, Логично
если тебе так уж надо хранить ВРЕМЯ в типе даты-времени, то можешь поробовать
Код

convert(datetime,'01/01/01/'+<поле>,14)

Автор: chaos 11.10.2006, 09:20
а на 
Код

DATEPART ( datepart , date )

кто-нибудь смотрел?

Добавлено @ 09:23 
и вообще интересно как выглядит твоя строчка со временем?

Добавлено @ 09:25 
если я все правельно понял и у тебя строчка со временем вида HH:MM то можно так:
Код

DECLARE @time CHAR(5)
SET @time = '15:20'

SELECT DATEPART(hour, CAST('20000101 ' + @time AS DATETIME))
SELECT DATEPART(minute, CAST('20000101 ' + @time AS DATETIME))



Автор: yupie 11.10.2006, 18:01
Нет. Строка выглядит HHmmss именно так, 6 знаков без разделителя. 
Ну вроде то что надо получил, поделив её substring'ом и добавив разделитель.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)