sql 查询语句中如何过滤指定的字符?

sql 查询语句中如何过滤指定的字符?,第1张

1、语句:SELECT * FROM dbo.Products WHERE prod_name='king doll' AND prod_price>8。

--检索dbo.Products表中所有列,过滤条件为由供应商king doll制造价格大于8的所有商品。

注意:--后面的字符是这条语句的注释,这条语句有两个条件,分别用AND关键字联接在一起,并且过滤结果必须满足这两个条件,如果只满足其中一个该数据不会被检索出来。

2、OR *** 作符(或)

语句:SELECT * FROM dbo.Products WHERE prod_name='king doll' OR prod_price>8。

--检索dbo.Products表中所有列,过滤条件为由供应商king doll制造价格大于8的所有商品值。

注意:--这里要说明的是OR *** 作符与AND *** 作符的不同之处是只要满足其中一个条件,数值就会被检索出来,例如:由供应商king doll制造价格小于8商品或者由供应商king add制造价格大于8的商品只要其中一个条件符合,数据就被检索出来。

3、IN *** 作符(指定条件范围)

语句:SELECT * FROM dbo.Products WHERE prod_name IN ('king doll' ,'Queen dool')。

--检索dbo.Products表中所有列,过滤条件为由供应商king doll和Queen dool制造的商品。

注意:它的功能其实和OR一样,但是它的执行速度会更快并且简洁,最大的优点是可以包含其他SELECT语句,能够更动态地建立WHERE字句。

估计你不是只想过滤掉湖南省三个字吧,就是有湖北省武汉市,你也想把湖北省过滤掉的吧?

如果是这样的话你去看下SUBSTRING()这个函数,就是取字符串的字串。

原理是这样的,你首先找出字符串中第一个“省”出现的位置,把该位置后的字符串取出来就是你想要的了。

给你一个例子吧,就上面你那个湖南省的,查询语句可以这么写:

SELECT SUBSTRING('湖南省湘潭市湘乡市', CHARINDEX('省', '湖南省湘潭市湘乡市') + 1,

LEN('湖南省湘潭市湘乡市'))

输出:湘潭市雨湖区

希望能帮到你


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6640996.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存