SQL SERVER 中 datetime 字段 不正常

wdf 2000-03-09 08:21:00
我的表中的datetime字段Length为8,Precision和Scale都为0,录入的日期格式成为
00-3-8 17:00:11,为何?(录入程序为VC,Ado,_variant_t(COleDateTime))
...全文
227 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhou0523 2000-03-18
  • 打赏
  • 举报
回复
在delphi里我使用formatdatetime('yyyy-mm-dd',fieldbyname('rq').asdatetime
cooler 2000-03-14
  • 打赏
  • 举报
回复
sql server将使用本地区域设置中的日期格式来显示日期,这与其储存格式无关
GoldenLion 2000-03-09
  • 打赏
  • 举报
回复
如前所说,SQL Server中的值是对的。
1. 如果你要在SQL Server中看数据,可用CONVERT将年份转为4个数字表示。(CONVERT()是T-SQL语句)
2. 如你要在VC中显示,用VariantTimeToSystemTime()转换。
929 2000-03-09
  • 打赏
  • 举报
回复
这是录入程序的问题,它默认只显示年的后两位。因为,一般程序认为当年后两位大于50时,世纪值为19,而小于50时世纪值为20。
none 2000-03-09
  • 打赏
  • 举报
回复
SQL SERVER中DATETIME是以2个4BYTE的整数存放的,其长度和精度不能改变。
在程序中年份的前两位没有显示,这不干SQL SERVER的事,应该在VC里面调整。

不过,我不懂VC:).只知道PB是这样的。




forgettor 2000-03-09
  • 打赏
  • 举报
回复
这很正常,正如zpwh所说
wdf 2000-03-09
  • 打赏
  • 举报
回复
年份应为2000,但录入的为00, ?
zpwh 2000-03-09
  • 打赏
  • 举报
回复
在SQLServer中,日期时间型的数据是以浮点数的形式
存储的,所以字段的Length为8,当你用ISQLW查询的
时候,ISQLW会将其转成字符串,因此,会出现上述情况。
forgettor 2000-03-09
  • 打赏
  • 举报
回复
什么意思?

34,576

社区成员

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

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