在SQL语句中,经常遇到where条件有多个,而且,这些条件并不会同时出现在where语句中。
Java开发,经常使用<c:if>来控制。
在VS开发的时候,发现不使用<c:if>也可以实现这种效果,
在上面的SQL中,如果两个参数,其中一个为空,LIKE会匹配表的所有的数据。
这样的效果和IF条件控制语句是一样的。
如果哪位大神知道其他做法,欢迎留言分享。
Java开发,经常使用<c:if>来控制。
在VS开发的时候,发现不使用<c:if>也可以实现这种效果,
那就是使用LIKE语句
Private ReadOnly selectTestSql As String = _
"SELECT " & vbCrLf & _
" A.TEST_1, " & vbCrLf & _
" A.TEST_2, " & vbCrLf & _
" A.TEST_3, " & vbCrLf & _
" A.TEST_4, " & vbCrLf & _
" A.TEST_5 " & vbCrLf & _
" FROM TORQUE_WRENCH_TEST_HISTORY A " & vbCrLf & _
" WHERE A.NO LIKE '%' || :1 || '%' " & vbCrLf & _
" AND A.TESTER_NO LIKE '%' || :2 || '%' "
【:1】,【:2】表示参数
在上面的SQL中,如果两个参数,其中一个为空,LIKE会匹配表的所有的数据。
这样的效果和IF条件控制语句是一样的。
如果哪位大神知道其他做法,欢迎留言分享。