
正文
sqlserver分隔符,sql按分隔符截取
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
sqlserver 如何截取格式固定的分隔符之间的字符
我说一下用java实现,有多种方案,可以先把整个字符串用 | 究分割,再用 = 分割,取出想要的字符串,组合起来。第二种方案用正则提取出想要的字符串,再组合。例如下面是用正则全实现的:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Demo3 {
public static void main(String[] args) {
String s = "00080220=0000231737|00081037=0000231737|00086153=0000231811|00086160=0000231901|";
Pattern pattern = Pattern.compile("=(\\d+)\\|");
Matcher matcher = pattern.matcher(s);
String result = "";
while (matcher.find()) {
result += matcher.group(1) + "|";
}
System.out.println(result);
}
}
运行结果是:
0000231737|0000231737|0000231811|0000231901|
相关问答
Q1: SQLserver中带有分隔符的字段内容怎么汇总
山东有哪些人?
select 人员 from table where 地点 like '%山东%'
总人数多少?
select count(人员) from table where 地点 like '%山东%'
Q2: sqlserver 中如何按分隔符检索字符串?
你可以把这个列首位各加个逗号,然后找“,8,” 然后再用charindex应该就能解决你的问题了
select charindex(','+'8'+',',','+'18,8,7'+',')
Q3: sqlserver导出数据的列分隔符能不能指定其他分隔符
mysql select 导出数据 加分隔符,方便生成Excel和利用python进行数据处理。1mysql select ID,VERSION,HEADLINE from news limit 10 INTO OUTFILE "/tmp/1.txt" fields terminated by '|' ;导入数据lines terminated by '\n'.
SQL是高级的非过程化编辑语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的sql语言作为数据输入与管理的接口。
Q4: sqlserver 怎么分割字符串
如楼上给的 单独分割一部分 也可用下面的函数 分割出一个集合
-- 1.0 拆分字符串 参数 @strSource要操作的字符串 @strSeparator分隔符
CREATE FUNCTION [dbo].fn_splitStr( @strSource NVARCHAR(4000),@strSeparator NVARCHAR(10) )
RETURNS @tbResult TABLE(id INT IDENTITY(1,1),rs NVARCHAR(1000))
AS
BEGIN
DECLARE @dwIndex INT,@strResult NVARCHAR(1000),@dwSeparatorLen INT=LEN(@strSeparator);
SET @dwIndex = CHARINDEX(@strSeparator,@strSource);-- 取得第一个分隔符的位置
WHILE @dwIndex0
BEGIN
SET @strResult = LEFT(@strSource,@dwIndex-1);
INSERT @tbResult VALUES(@strResult);
--将要操作的字符串去除已切分部分
SET @strSource = SUBSTRING(@strSource,@dwIndex+LEN(@dwIndex),LEN(@strSource));
SET @dwIndex = CHARINDEX(@strSeparator,@strSource); --循环量增加
END
--处理最后一节
IF LEN(@strSource) 0 INSERT @tbResult VALUES(@strSource)
RETURN;
END
GO








