我在T-SQL中有这个SP
$('input').click(function() {
var clicks = $(this).data('clicks');
if (clicks) {
alert('open search bar');
} else {
alert('enter search bar');
}
$(this).data("clicks", !clicks);
});
现在@DATA_INIZIO和@DATA_FINE可以为null或不为null。如果有办法更改我的查询,如果@Data_inizio不为null,则执行此条件,如果@Data_Inizio为null,则不执行此条件?
答案 0 :(得分:1)
这样的事情:
SELECT COUNT(*)
FROM AA_V_ATS_Richieste R
WHERE
R.IdTipoRichiesta = 1
AND (R.DataInizio >= @DATA_INIZIO OR @DATA_INIZIO IS NULL)
AND (R.DataFine <= @DATA_FINE OR @DATA_FINE IS NULL)
答案 1 :(得分:0)
如果通过&#34;执行此条件&#34;你的意思是执行查询,你可以做几个方面。
在存储过程中(或者你可以应用T-SQL过程逻辑的任何地方(例如IF / THEN / ELSE / WHILE),你可以这样做:
template <template <typename...> class Container, typename ... Ts>
class ContainerPacker {
public:
virtual Container<Ts...> pack(Ts...) = 0;
};
作为内联查询的一部分,您可以创建一个“启动谓词”&#39;在你的WHERE子句中如此:
IF @DATA_INIZIO IS NOT NULL
BEGIN
SELECT COUNT(*)
FROM AA_V_ATS_Richieste R
WHERE R.IdTipoRichiesta = 1
AND R.DataInizio >= @DATA_INIZIO
AND R.DataFine <= @DATA_FINE;
END; -- note: You don't need the BEGIN/END, just including for readability
如果@DATA_INIZIO为空,则不会返回任何内容。