导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

如何将float类型的日期(如20030105)转换成datetime类型(如2003-01-05)?

vbasten 2003-01-08 09:44:11
如何将float类型的日期(如20030105)转换成datetime类型(如2003-01-05)?
我用cast 和convert试了,可是不行,为什么啊?
...全文
66 点赞 收藏 7
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
glboy 2003-01-08
TO alexwoowf(吴)
上面转换的两个都是转为datetime类型的
回复
glboy 2003-01-08
因为你SQL SERVER中的datetime类型实质上是浮点型,其整数部分存储的是日期,小数部分存储的是时间。

你可以考虑更改该字段的数据类型设计

若只是要返回一个结果集,只要convert(varchar(10),datatime,120)就可以了。
回复
alexwoowf 2003-01-08
要得到datetime类型(带时间)的话,glboy 就是你要的;
如果转换成2003-01-08的话, 就是阿土哥的了!
回复
vbasten 2003-01-08
谢了。再请问:我不想要小时分钟,即只想要2003-01-05,怎么办呢?
回复
glboy 2003-01-08
如果日期中的月或日为个位数的时候,都还有问题,在进一步改进中。
如:2002217,2002021
回复
glboy 2003-01-08
select convert(datetime,cast(20020217 as varchar(10)),120)
回复
nielisheng 2003-01-08
SELECT CAST(left(field, 4) + '-' + substring(field, 5,2) + '-' + right(field,2) AS DateTime)
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告