我正准备迁移到基于股票的零售商店的新数据库系统。在当前数据库中,已停用的产品已将前导*添加到记录中。
业主不希望将停用的产品带入新系统,因此这个领先的*是我唯一的工作参考点。
我需要创建一个SELECT查询,该查询将排除具有前导*但无效的产品。
我试过以下
SELECT prdcod
FROM prdtbl
WHERE prodcod<>'*%';
返回的前10个结果是:
我怀疑我可能无法使用*作为排除因子
任何想法都会被激活
答案 0 :(得分:1)
试试这个
SELECT prdcod
FROM prdtbl
WHERE prodcod not like '*%';
答案 1 :(得分:1)
这可以通过很多方式实现。
使用NOT LIKE
SELECT prdcod
FROM prdtbl
WHERE prodcod NOT LIKE '*%'
使用LEFT/SUBSTRING
SELECT prdcod
FROM prdtbl
WHERE LEFT(prodcod,1) <> '*' -- SUBSTRING(prodcod from 1 for 1) <> '*'
注意: Not Like
是首选方法,如果Index
列上有prodcod
答案 2 :(得分:1)
SELECT prdcod
FROM prdtbl
WHERE prodcod NOT LIKE '*%';
答案 3 :(得分:1)
而不是使用&#34;&lt;&gt;&#34;操作员,使用&#34;不喜欢&#34;:
Select prdcod
From prdtbl
Where prodcod not like '*%';