您好我正在使用SqlDatareader从表中读取值,问题是它始终根据机器日期格式设置格式化值。
例如,源表中的原始日期格式保存为 YYYY / MM / DD
当我在日期设置为MM / dd / YY的机器中使用SqlDatareader.GetValue时 它会自动转换为该格式
无论如何都要在原始日期格式完整的情况下检索日期值吗?
感谢
答案 0 :(得分:5)
没有“原始日期格式”,日期在内部保留为数字,而不是字符串。
在SQL查询中,您可以使用
选择输出格式CONVERT(varchar(30), theColumn, nnn)
其中“nnn”是此处列出的常见日期格式之一:MSDN。
就个人而言,我发现该页面令人困惑,因此另一个(更有用的)页面位于此处:SQL Server Helper。从该页面:
CONVERT(VARCHAR(20), GETDATE(), 100)
将返回'2005年1月1日下午1:29'
答案 1 :(得分:0)
可能不是你想要的东西。但是,如果要存储格式化的日期时间,可能应该使用VARCHAR
或CHAR(N)
作为字段类型。我认为DATETIME
字段是存储日期时间,而它自身的格式并不重要(或者它的含义)。但是,您可以在C#中将其重新转换回该格式。