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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 查询语句中 如何过滤 指定的字符相关的知识,希望对你有一定的参考价值。

比如
位置
湖南省湘潭市湘乡市;
湖南省湘潭市雨湖区;

如何过滤掉湖南省 三个字

估计你不是只想过滤掉湖南省三个字吧,就是有湖北省武汉市,你也想把湖北省过滤掉的吧?
如果是这样的话你去看下SUBSTRING()这个函数,就是取字符串的字串。
原理是这样的,你首先找出字符串中第一个“省”出现的位置,把该位置后的字符串取出来就是你想要的了。
给你一个例子吧,就上面你那个湖南省的,查询语句可以这么写:
SELECT SUBSTRING('湖南省湘潭市湘乡市', CHARINDEX('省', '湖南省湘潭市湘乡市') + 1,
LEN('湖南省湘潭市湘乡市'))

输出:湘潭市雨湖区
希望能帮到你
参考技术A sqlserver:
select REPLACE(字段名1,'湖南省','')
上面 湖南省为要替换的字符串,''为要替换的内容本回答被提问者和网友采纳
参考技术B 1

sql语句,能够截取指定字段后面的一个字符串吗?

参考技术A sql语句可以截取指定字段后面的字符串,以sqlserver为例,需要用到charindex函数和substring函数。
如test表中有如下数据,要求截图str字段中逗号后边的内容。
可用如下语句:
select id,substring(str,charindex(',',str)+1,len(str)-charindex(',',str)) from test;
结果截图:
charindex函数说明:
语法:
CHARINDEX
(
expression1
,
expression2
,
[
start_location
]
)
参数:
expression1
一个表达式,其中包含要寻找的字符的次序。expression1
是一个短字符数据类型分类的表达式。
expression2
一个表达式,通常是一个用于搜索指定序列的列。expression2
属于字符串数据类型分类。
start_location

expression2
中搜索
expression1
时的起始字符位置。如果没有给定
start_location,而是一个负数或零,则将从
expression2
的起始位置开始搜索。
substring函数说明:
语法:
substring(
expression,
start,
length)
参数:
expression
字符串、二进制字符串、文本、图像、列或包含列的表达式
start
整数或可以隐式转换为
int
的表达式,指定子字符串的开始位置
length
整数或可以隐式转换为
int
的表达式,指定子字符串的长度

以上是关于sql 查询语句中 如何过滤 指定的字符的主要内容,如果未能解决你的问题,请参考以下文章

数据库笔记-SQL过滤(LIKE&正则表达式)

SQL语句怎样查询一个范围

sql语句查询过滤重复数据

HiveQL SELECT语句查询

sql语句,如何截取指定字段某一个字符出现后的后面的字符串吗

sql语句去重