当尝试从 SQL Server 选择数据或使用 C# Windows 应用程序插入数据时,出现以下异常。我在 select 查询的 where 子句中用单引号传递日期,例如 '16/03/2011' 异常消息如下所示:
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
是否有任何完美的解决方案可以从与操作系统无关的sqlserver数据库中插入和选择日期。即适用于意大利语和英语操作系统。
最佳答案
如果您无法使用存储过程或参数化查询,您可能需要将日期格式化为 yyyy-mm-dd 格式。前任。 '2011-03-16'
T-SQL 示例
INSERT INTO MyTable (SomeDate) VALUES ('2011-03-16')
或
SELECT * FROM MyTable WHERE SomeDate <= '2011-03-16'
此外,请记住日期的时间部分。如果时间不重要,请确保不要存储它,因为它可能会影响您以后的 SELECT 查询。
关于c# - 从 SQL Server 数据库中插入和选择日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5326984/