2014-10-06 5 views
-2

У меня есть столбец с именем enteredindate, который включает в себя такие данные, как:преобразования даты к Int

2012-10-10 18:02:00 
2012-10-11 13:30:00 
2012-10-11 14:27:00 
2012-10-12 14:14:00 

Как сделать новый столбец, который имеет значение INT данных рядом с этой enteredindate колонки, как это ?

1802 
1330 
1427 
1414 
+0

(Синтаксическая вне часов) * 100 + минута [DatePart] (http://msdn.microsoft.com/en-us/library/ms174420%28v=sql.110%29.aspx) –

+4

Итак, как @AdamWenger сказал: 'DATEPART (HOUR, введенный) * 100 + DATEPART (MINUTE, введенный)' – Lamak

+1

[Извлечение часов из DateTime (SQL Server 2005)] (http://stackoverflow.com/q/ 1114307/335858) вопрос, предложенный как дубликат, не является хорошим кандидатом, поскольку он отвечает только на часть вопроса (хотя он дает хорошую идею о том, как действовать). Вторая часть, а именно, как объединить часы и минуты, не отвечает в двух экземплярах. Я голосую, чтобы повторно открыть этот вопрос (но, пожалуйста, прокомментируйте, если вы найдете лучший дубликат, я с удовольствием проголосую, чтобы закрыть вопрос). – dasblinkenlight

ответ

2

Использование datepart:

select datepart(hour, enteredindate) * 100 
     + datepart(minute, enteredindate) 
+0

@Hong: нужна дополнительная помощь? –

1

Вы можете вычислить desited номер с помощью этого выражения:

DATEPART(hour,d) * 100 + DATEPART(minute,d) 

где d это имя вашего datetime столбца.

Умножьте часы на 100 перед добавлением минут, чтобы рассматривать их как первые две цифры четырехзначного числа.

Demo.

Смежные вопросы