我正在为一家基于股票的零售店准备迁移到一个新的数据库系统。在当前已停用的数据库产品中,记录中添加了前导*号。
所有者不想将停用的产品带入新系统,所以这个leading*是我唯一的工作参考点。
我需要创建一个SELECT查询,该查询将排除具有前导*的产品,但这样做毫无用处。
我试过下面的
SELECT prdcod
FROM prdtbl
WHERE prodcod<>'*%';
返回的前10个结果是:
71A022号
051116号
070505转
*031620号
四十五万八千五百零八
五十万一千三百一十五
*070247PE型
三十七万零二
070278斯图
*二氧化碳20302
我想我可能不能用*作为排除因素
任何想法都会被告知
最佳答案
有很多方法可以做到。。
使用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
onprodcod
列