Why would someone use WHERE 1=1 AND in a SQL clause?

后端 未结 19 2207
甜味超标
甜味超标 2020-11-22 07:08

Why would someone use WHERE 1=1 AND in a SQL clause (Either SQL obtained through concatenated strings, either view definition)

I\'ve

19条回答
  •  青春惊慌失措
    2020-11-22 07:48

    I do this usually when I am building dynamic SQL for a report which has many dropdown values a user can select. Since the user may or may not select the values from each dropdown, we end up getting a hard time figuring out which condition was the first where clause. So we pad up the query with a where 1=1 in the end and add all where clauses after that.

    Something like

    select column1, column2 from my table where 1=1 {name} {age};
    

    Then we would build the where clause like this and pass it as a parameter value

    string name_whereClause= ddlName.SelectedIndex > 0 ? "AND name ='"+ ddlName.SelectedValue+ "'" : "";
    

    As the where clause selection are unknown to us at runtime, so this helps us a great deal in finding whether to include an 'AND' or 'WHERE'.

提交回复
热议问题