我在服务器上运行的SQL代码。
SELECT
[LINE_NO], [CUST_ORDER_ID], [PART_ID],
[CUSTOMER_PART_ID], [MISC_REFERENCE], [PROMISE_DATE],
[PROMISE_DEL_DATE]
FROM
[CUST_ORDER_LINE]
WHERE
([CUST_ORDER_ID] = '33742-1'
AND [PROMISE_DATE] IS NULL
AND [PROMISE_DEL_DATE] IS NULL)我的asp.net代码。
SelectCommand = "SELECT [LINE_NO], [CUST_ORDER_ID], [PART_ID], [CUSTOMER_PART_ID], [MISC_REFERENCE], [PROMISE_DATE], [PROMISE_DEL_DATE] FROM [CUST_ORDER_LINE] WHERE ([CUST_ORDER_ID] = ? AND [PROMISE_DATE] = ? AND [PROMISE_DEL_DATE] = ?)"我使用了3个查询字符串参数。承诺日期和承诺交付日期可以为空。但是当这些值为null时,它不返回任何记录。
如何对其进行编程以将SQL更改为'is null'而不是= ''。
发布于 2016-06-17 13:07:42
我想这就是你想要的:
代码:
SelectCommand = "SELECT [LINE_NO], [CUST_ORDER_ID], [PART_ID], [CUSTOMER_PART_ID], [MISC_REFERENCE], [PROMISE_DATE], [PROMISE_DEL_DATE] FROM [CUST_ORDER_LINE] WHERE [CUST_ORDER_ID] = ? AND (? IS NULL OR [PROMISE_DATE] = ?) AND (? IS NULL OR [PROMISE_DEL_DATE] = ?)"SQL将为:
DECLARE @P1 INT, @P2 DATETIME, @P3 DATETIME
SELECT [LINE_NO], [CUST_ORDER_ID], [PART_ID], [CUSTOMER_PART_ID], [MISC_REFERENCE], [PROMISE_DATE], [PROMISE_DEL_DATE]
FROM [CUST_ORDER_LINE]
WHERE [CUST_ORDER_ID] = @P1
AND (@P2 IS NULL OR [PROMISE_DATE] = @P2)
AND (@P3 IS NULL OR [PROMISE_DEL_DATE] = @P3)https://stackoverflow.com/questions/37869712
复制相似问题