我必须从C#进行查询并与datetime
进行比较。 Datetime存储在我的数据库中,如下所示:
2014-11-09 00:00:01
我正在使用此查询:
SELECT *
FROM Table
WHERE DATETIMEVAR = '19/11/2014 0:00:01' AND OTHERVAR = 1
但它的格式不同。有没有办法从C#中的System.DateTime
转换为SQL Server中的日期,或者从SQL Server转换为该格式的日期时间?我应该在like
条款中使用=
而不是Where
进行核对。
感谢。
答案 0 :(得分:4)
最佳方式是在C#中进行参数化查询,然后将日期时间参数设置为日期时间(而不是依靠在字符串之间来回转换日期。)
所以你应该有类似的东西:
SELECT *
FROM Table
WHERE DATETIMEVAR = @DateTimeValue AND OTHERVAR = 1
然后将@DateTimeValue
参数定义为日期时间并将其设置为日期时间
那种方法:
DATETIME
与原生格式的System.DateTime
进行比较答案 1 :(得分:2)
如果要从DateTime对象生成查询,只需执行date.ToString("yyyy-MM-dd HH:mm:ss")
将其转换为查询中的格式。