1

这是我的查询字符串

SELECT
Payment
,Balance
,PatientNo
FROM
[GP_DB].[dbo].[GP]
where GP.GPDate= (SELECT CONVERT(VARCHAR(24),@GPDate,103))

GPDate 是 Date 类型的列,而不是 DateTime

我像这样传递参数

cmd_select_treatment.Parameters.AddWithValue(
            "@GPDate"
            ,Convert.ToDateTime(dateTimePicker1.Value));

但出现以下错误

从字符串转换日期和/或时间时转换失败。

4

3 回答 3

2

GPDate 是一个日期类型列

如果它是一DATE列并且您的Convert.ToDateTime调用返回一个DateTime对象,那么不要为CAST.

WHERE GP.GPDate = @GPDate

如果dateTimePicker1可能包含一个时间组件并且您不关心它,那么在使用它的值之前简单地丢弃它:

Convert.ToDateTime(dateTimePicker1.Value).Date
于 2014-01-18T03:54:04.110 回答
0

@var is DateTime select cast(convert (varchar(8),@var,112) as Date)

于 2014-12-08T03:44:13.407 回答
-1

我认为您需要在日期转换中添加图片子句,例如示例

to_date('18/01/2014 10:15:20','dd/mm/yyyy hh24:mi:ss');

这应该可以解决您的问题

于 2014-01-18T05:55:22.717 回答