Итак, каждая запись в моей таблице имеет столбец отметки времени datetime.
datetime
Как вернуть возраст (в часах) этих записей в базу данных?
Спасибо!
select DATEDIFF(hour,timestamp,getdate()) as hours_old from myTable
datediff(hour,[Your Column], getdate())
http://msdn.microsoft.com/en-us/library/ms189794.aspx
Поскольку datediff(hour,'2000-01-01 00:59','2000-01-01 01:00') возвращает 1, из-за (нелогичного) способа, которым работает datediff, вы можете захотеть что-то более точное:
datediff(hour,'2000-01-01 00:59','2000-01-01 01:00')
datediff
select DATEDIFF(minute,the_timestamp,getdate()) / 60 from TheTable
Используйте функцию датировки.
select datediff(hour, getdate(), dob) as age from ...