在设计数据库报表中时间字段时,有的时候可以设计为DateTime类型,但是在有的情况下,我们需要设计成BigInt类型,然后再持久化的时候可以传入但时间的毫秒数(当然这个毫秒数是距离1970-01-01 08:00:00.000这个时间点的 ),所以在数据查询的时候需要显示能够
在设计数据库报表中时间字段时,有的时候可以设计为DateTime类型,但是在有的情况下,我们需要设计成BigInt类型,然后再持久化的时候可以传入但时间的毫秒数(当然这个毫秒数是距离1970-01-01 08:00:00.000这个时间点的),所以在数据查询的时候需要显示能够看懂的时间格式,而不是毫秒数。如下:
这个prize_time字段便是毫秒数,所以需要转换,在SqlServer中进行查询的时候,可以用DATEADD函数,函数具体的用法:
DATEADD() 函数在日期中添加或减去指定的时间间隔。
DATEADD(<span>datepart</span>,<span>number</span>,<span>date</span>)
date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。
datepart 参数可以是下列的值:
datepart | 缩写 |
---|---|
年 | yy, yyyy |
季度 | qq, q |
月 | mm, m |
年中的日 | dy, y |
日 | dd, d |
周 | wk, ww |
星期 | dw, w |
小时 | hh |
分钟 | mi, n |
秒 | ss, s |
毫秒 | ms |
微妙 | mcs |
纳秒 | ns |
这个函数可以进行转换,本例中可以用dateadd(S,[prize_time]/1000,'1970-01-01 08:00:00') prize_time进行转化!