MSSQL:WHERE字段不等于字符串列表

时间:2018-01-31 19:49:35

标签: python sql-server list filter conditional

------------修订______________

如果列A等于字符串列表,我想删除数据表的行。我能够在Python代码中执行此操作,但不知道如何在MSSQL中执行此操作。

下面的屏幕截图显示了我所拥有的表格与我想要的表格的示例。如果值介于4800和4900之间,我想删除该行。列A虽然包含所有字符串值。

enter image description here

请参阅下面的Python代码:

import numpy as np

df_adhoc_1_final['A'] = df_adhoc_1_final['A'].astype(str)

aircraft_num = np.arange(4888, 4903).astype(str)

for i in aircraft_num:
     df_adhoc_1_final = df_adhoc_1_final[df_adhoc_1_final['A'].str.contains(i) == False]

1 个答案:

答案 0 :(得分:2)

编辑为'A'为字符串

declare @example as table (
    exampleid int identity(1,1) not null primary key clustered
,   A nvarchar(255) not null
,   value_ int not null
);


insert into @example (a, value_)

select '4000', 22 union all
select '4888', 44 union all
select '4895', 33 union all
select '4933', 11 union all
select '5000', 14;


select A
     , value_
  from @example
where cast(a as int) not between 4800 and 4900;

结果集:

A       Value_
4000    22
4933    11
5000    14