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的问题。
...全文
187 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
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'这种格式就只能做字符串型存储了
TNT_1st_excellence 2008-03-21
  • 打赏
  • 举报
回复
经过测试'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
  • 打赏
  • 举报
回复
确定,那压根就不是合法的日期格式
月日年
年月日
日月年
(各类分隔符)
光年月是不行地!

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧