大家好:在sql中,存的浮点时间和日期 比如38733.58621528,请问怎么转换成2006年这种,不用sql的convert函数,谢谢!!
解决方案 »
- 100分,开源控件OutlookBar控件改不了栏目的背景颜色!
- 页面自动登录浙江移动网站
- 500分 请教调用c++函数问题
- C#后台删除图片文件
- 在IE中直接输入路径可以播放,嵌入网页播放不了,路径完全正确,流媒体问题.
- 急问各位高手:怎样将数据表中的一列数据绑定到radioButton上(数据类型非bool型)
- 如何将一个数值对应到一个enum的值?
- ckeditor上传图片是怎么默认选中上传
- 关与文本选定的问题??
- 请问一个正则表达式
- c#如何搞一个工具条,当用户下载安装后就能实现在IE下方的工具条,类似GOOGLE工具条这样的.
- java apache tomat resin iis windwos 的讨论,快来.进入里面的地址的连
日期=cast(38733.58621528 as datetime),
年份=year(38733.58621528),
月份=month(38733.58621528),
日=day(38733.58621528)
--结果 -2.0
那么过了12后就不是1899年了,而是1900年了,也就是1899年12月30日0点,其实就是1900年01月01日0点所以
不是
select cast(cast('1899-12-30' as datetime) as float)
而是
select cast(cast('1900-01-01' as datetime) as float)这个浮点数以1899年12月30日0点为坐标原点,整数部分表示相差的天数,小数部分表示相差不足一天的部分
说法并没有错,只是在sql中执行的时候不应该再是1899而是1900
select cast(cast('1899-12-31' as datetime) as float)
是0点的前一天,结果是-1
select cast(cast('1900-01-01' as datetime) as float)
是0点后,结果是0
这是没有问题的
只是放在sql执行的内容不对