|
00-3-8 17:00:11,为何?(录入程序为VC,Ado,_variant_t(COleDateTime)) |
|
|
|
什么意思?
|
|
|
在SQLServer中,日期时间型的数据是以浮点数的形式
存储的,所以字段的Length为8,当你用ISQLW查询的 时候,ISQLW会将其转成字符串,因此,会出现上述情况。 |
|
|
年份应为2000,但录入的为00, ?
|
|
|
这很正常,正如zpwh所说
|
|
|
SQL SERVER中DATETIME是以2个4BYTE的整数存放的,其长度和精度不能改变。
在程序中年份的前两位没有显示,这不干SQL SERVER的事,应该在VC里面调整。 不过,我不懂VC:).只知道PB是这样的。 |
|
这是录入程序的问题,它默认只显示年的后两位。因为,一般程序认为当年后两位大于50时,世纪值为19,而小于50时世纪值为20。
|
|
|
|
如前所说,SQL Server中的值是对的。
1. 如果你要在SQL Server中看数据,可用CONVERT将年份转为4个数字表示。(CONVERT()是T-SQL语句) 2. 如你要在VC中显示,用VariantTimeToSystemTime()转换。 |
|
|
sql server将使用本地区域设置中的日期格式来显示日期,这与其储存格式无关
|
|
|
在delphi里我使用formatdatetime('yyyy-mm-dd',fieldbyname('rq').asdatetime
|
|