• 全部
  • 基础类
  • 应用实例
  • 新技术前沿

SQL Server 2005 的字符串时间格式

Smash_hit 2008-03-21 10:35:37
我在SQL Server 2005中设了一个varchar(23)字段用于存放时间,现在的问题是我插入'2006'或'2006-1-9'这些格式都可以顺利保存到数据库,但我用'2006-1'这种格式,SQL Server 报错Conversion failed when converting datetime from character string.

我现在的项目中有这样的需求保存'2006-1'这种格式,请问如何解决?我的测试都是在Management Studio下测试,因此确认为Sql Server2005的问题。
...全文
154 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wzy_love_sly 2008-03-21
varchar(23)字段用于存放时间
但我用'2006-1'这种格式,SQL Server 报错
-----------
不可能吧
回复
dawugui 2008-03-21
要么用字符串存:'2006-1'
要么用'2006-01-01' 代替 '2006-1'
回复
山之魂2 2008-03-21
存'2006-1'这种格式就只能做字符串型存储了
回复
经过测试'2006-1'是可以存到varchar(23)栏位中啊
肯定是楼主其他的地方发生了错误
回复
不用测试也能保证,你的处理过程出现了错误。
你可以把你的处理代码贴出来看看。

create table tab(col varchar(23))
insert tab
select '2006-1'
select * from tab
drop table tab



(1 行受影响)
col
-----------------------
2006-1

(1 行受影响)
回复
kelph 2008-03-21
'2006-1'存不进varchar(23)??

根本就不转换datetime格式,
我敢肯定,你搞错了
回复
正宗老冉 2008-03-21
确定,那压根就不是合法的日期格式
月日年
年月日
日月年
(各类分隔符)
光年月是不行地!
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-03-21 10:35
社区公告
暂无公告