栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将datetime转换为float时,SQL的convert函数如何工作?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将datetime转换为float时,SQL的convert函数如何工作?

DateTime通常表示为从整数部分上的预定日期(通常称为纪元)开始的天数,而在小数部分上表示从午夜开始经过的一天的百分比。

SQL
Server也不例外,因此转换为Float非常有意义。第0天是1900年1月1日00:00:00(AFAIK,没有特定的时区,因此您应将其视为“本地时间”)。

因此,您可以尝试以下操作:

declare @ADate DateTime;set @ADate = '19000101 00:00:00';select ConVERT(float, @ADate);  --should print 0set @ADate = '19000101 12:00:00';select ConVERT(float, @ADate);  --should print 0.5set @ADate = '19001231 06:00:00';select ConVERT(float, @ADate);  --should print 364.25

因此,根据您的结果,自01/01/1900 00:00:00和2010年1月7日00:00:00以来已经过去了40183天

说明:类似于Unix的系统使用不同的方法来存储日期时间:自Unix纪元(1970年1月1日00:00:00 UTC)以来的秒数,这又称为纪元时间。

[编辑]该回复的日期格式已在20140416上更改为YYYYMMDD格式,这是使用SQL
Server的一些新经验(并且正如@Damien在他的评论中所说),这是唯一安全的格式。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/517419.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号