Получить возраст из записи в таблице: T-SQL

#tsql

#tsql

Вопрос:

Итак, каждая запись в моей таблице имеет datetime столбец метки времени.

Как мне вернуть возраст (в часах) этих записей в базе данных?

Спасибо!

Ответ №1:

 select DATEDIFF(hour,timestamp,getdate()) as hours_old
from myTable
  

Ответ №2:

 datediff(hour,[Your Column], getdate())
  

http://msdn.microsoft.com/en-us/library/ms189794.aspx

Комментарии:

1. Спасибо! Я видел это, но не был уверен, как это реализовать.

Ответ №3:

Используйте функцию datediff.

 select datediff(hour, getdate(), dob) as age
   from ...
  

Ответ №4:

Поскольку datediff(hour,'2000-01-01 00:59','2000-01-01 01:00') возвращает 1, из-за (нелогичного) способа datediff работы вам может понадобиться что-то более точное:

 select DATEDIFF(minute,the_timestamp,getdate()) / 60
  from TheTable