以下代码传递此行。最后一列名为toscode
。我试图清除toscolumn
包含名称中任何位置的“W1”的行。没有列被设置为索引。不起作用。SQL语句不过滤行
我看到W1
前面的$
(escape)是为了防止SQL注入。不知道%
是做什么的,但它可能与索引有关,这可能是为什么它不起作用。
| SPX | 0 | 8.3 | 8.7 | 2017-03-24 | 0 | 30 | PUT | 2400 | SPXW170324C02400000 | .SPXW1703242400 |
MySqlCommand cmd = conn.CreateCommand();
cmd.Parameters.AddWithValue("@symbol", symbol);
cmd.CommandText = @"select *
from contractdetails
where symbol = @symbol
&& toscode NOT LIKE '%$W1%'
&& Type = 'PUT'
&& oBid > .09
&& not ITM
&& Days > 10
&& Days < 120
order by Days asc";
“W1”后,你应该使用'LIKE' ,而不是'不喜欢'。 – shmosel
@RiggsFolly *我试图** **除了'toscolumn'不包含名称中任何地方的“W1”的行* – shmosel
@RiggsFolly如果“清除”意味着“排除”,则不行。 – shmosel