最近在使用 DateTime 作为 T-SQL INSERT INTO 语句的一部分时遇到了问题。在一台机器上运行正常,但在另一台机器上可能无法正常工作,我猜测这与本地设置有关。
因此,如果我有一个 DateTime 变量,什么是将其安全地用于 SqlStatement 字符串的方法,以便在任何本地系统设置下都能正常工作?
谢谢
最近在使用 DateTime 作为 T-SQL INSERT INTO 语句的一部分时遇到了问题。在一台机器上运行正常,但在另一台机器上可能无法正常工作,我猜测这与本地设置有关。
因此,如果我有一个 DateTime 变量,什么是将其安全地用于 SqlStatement 字符串的方法,以便在任何本地系统设置下都能正常工作?
谢谢
你可以使用参数化命令/存储过程,在存储过程中创建一个 DateTime 类型的参数,并在调用存储过程时从 .NET 代码中分配它(这样 .NET 和 SQL 将知道它们正在处理日期时间,不会混淆/交换日期和月份),或者你可以在插入命令的顶部包含一个特定的命令,然后使用此模式格式化所有日期时间字符串,例如:
SET DATEFORMAT dmy;