SqlDatareader GetValue根据系统日期格式返回日期值
问题描述:
您好我正在使用SqlDatareader从表中读取值,问题是它始终格式化根据机器日期格式设置的值。SqlDatareader GetValue根据系统日期格式返回日期值
例如在源表中的原始日期格式被保存为 YYYY/MM/DD
当我在具有日期设置为MM/DD/YY 机器使用SqlDatareader.GetValue它是atutomatically转换为该格式
有无论如何检索日期值与原始日期格式不变吗?
谢谢
答
没有“原始日期格式”,日期内部保存为数字,而不是字符串。
在一个SQL查询时,您可以选择
CONVERT(varchar(30), theColumn, nnn)
输出格式,其中“NNN”是这里列出的常见日期格式之一:MSDN。
我个人觉得页面混乱,所以另一个(更有用的)页面在这里:SQL Server Helper。从这个页面:
CONVERT(VARCHAR(20), GETDATE(), 100)
将返回 '2005年1月1日下午1:29'
答
可能不是你要找的。但是,如果要存储格式化的日期时间,可能应该使用VARCHAR
或CHAR(N)
作为字段类型。我认为DATETIME
字段是存储日期时间,它自己的格式不是那么重要(或它的意思)。但是,您可以在C#中将其重新转换为该格式。
** **从来没有一个日期时间存储为一个格式化字符串(原谅的夸张)。 – 2010-09-27 04:37:29