用于获取相关数据的SQL命令

时间:2018-06-23 00:31:38

标签: c# sql

我有一个HTML表单,其中包含许多输入字段,例如地址,邮政编码,日期,数据和抱怨类型(作为下拉列表),并且这些字段都不是必需的HTML字段,这取决于用户必须提取哪些数据(如果有的话)的字段未填充,我应该忽略该字段,并应基于填充的输入获取数据。如何编写SQL命令where子句?我写了类似

select * 
from table 
where (isnull(address, 0) like 'address') 
  and (isnull(fromDate, 0) > somedate) 
  and (isnull(zip, 0) like 'zip') 
  and (isNull(toDate, 0) < somedate) 

我正在SQL命令中的C#Web方法中使用它。请帮我。我不确定存储过程有什么主意

1 个答案:

答案 0 :(得分:0)

您可以通过多种方式实现它。请参见下面的示例示例:

DECLARE @Customer AS TABLE ([Address] VARCHAR(100),FromDate Date, Zip INT, ToDate Date)

INSERT INTO @Customer
SELECT 'Address1', GETDATE(),68110, DATEADD(DAY,5,GETDATE())
UNION ALL
SELECT 'Address2', GETDATE(),1234, DATEADD(DAY,5,GETDATE())
UNION ALL
SELECT 'Address3', GETDATE(), NULL , DATEADD(DAY,5,GETDATE())
UNION ALL
SELECT 'Address4',  NULL,68110, DATEADD(DAY,5,GETDATE())

select 
* 
from @Customer C
Where
C.[Address] = Coalesce(null, [Address])
AND C.zip = Coalesce(68110, Zip)

blogpost说明了实现它的其他各种方式。