Se você estiver usando o Microsoft SQL Server ou o MySQL (tenho certeza de que outros também suportarão isso, mas esses são os únicos que eu conheço), ambos contêm um tipo de dados dedicado para armazenar valores de tempo.
Eu sempre recomendo armazenar coisas como datas e horas em seus formatos dedicados ( DATE
, TIME
, DATETIME
etc), porque se você precisar consultar os valores ou manipulá-los, isso fará com que o SQL seja escrito mais fácil porque o mecanismo de SQL está ciente de que tipo de dados está no campo. Se você armazenou datas ou horas em um VARCHAR
, por exemplo, você pode ou não (dependente do mecanismo de banco de dados) ser capaz de escrever uma consulta que especificou SomeDateTimeField >= '2011-01-01 09:00:00' AND SomeDateTimeField <= '2011-01-01 17:00:00'
sem vomitar, por exemplo.
Para referência, as informações do tipo de dados do SQL Server e do MySQL TIME
estão aqui.