sql语句 怎么在一个字符串中间加几个字符
就是假如"12345678"这个字符创,用一个sql语句怎么变成"12:34:56:78",就是每隔两个字符串加一个“:”还有一种情况就是字符串“12a34b56789”...
就是假如"12345678"这个字符创,用一个sql语句怎么变成"12:34:56:78",就是每隔两个字符串 加一个 “:”
还有一种情况 就是字符串“12a34b56789” 把第其中的几个字符串换位“:”就是变成“12:34:56:89”就是这样 展开
还有一种情况 就是字符串“12a34b56789” 把第其中的几个字符串换位“:”就是变成“12:34:56:89”就是这样 展开
展开全部
1、创建测试表,
create table test_split(id number, value varchar2(20));
2、插入测试数据
insert into test_split values(1,'12345678');
insert into test_split values(2,'12345');
insert into test_split values(2,'5678');
3、查询表中记录,select t.*, rowid from test_split t;
4、编写sql,每隔两位用:分割,
select t.*,
rtrim(substr(value, 1, 2) || ':' || substr(value, 3, 2) || ':' ||
substr(value, 5, 2) || ':' || substr(value, 7, 2),
':') value2
from test_split t;
展开全部
直接用估计没有,可以定义一个函数转一下,MSSQL中有个stuff函数
在指定位置替换或增加字符,比如:
SELECT STUFF('12345678', 2, 3, 'abc')
SELECT STUFF('12345678', 2, 0, ':')
但只能插入一个位置。
建议自定义一个字符串处理函数,然后在语句中调用吧
比如
create function dbo.fn_setColon (
@oldstr varchar(4000) )
returns varchar(4000)
as
begin
declare @outstr varchar(4000)
set @outstr=''
while (len(@oldstr)>2)
begin
set @outstr=@outstr+left(@oldstr,2)+':'
set @oldstr=right(@oldstr, len(@oldstr)-2)
end
if @oldstr<>''
begin
set @outstr=@outstr+@oldstr
end
return @outstr
end
select dbo.fn_getColon('123456789')
第二种情况可以先把字符串中的字母替换掉,然后再调用该函数,建议还是通过前端程序来处理字符串。
在指定位置替换或增加字符,比如:
SELECT STUFF('12345678', 2, 3, 'abc')
SELECT STUFF('12345678', 2, 0, ':')
但只能插入一个位置。
建议自定义一个字符串处理函数,然后在语句中调用吧
比如
create function dbo.fn_setColon (
@oldstr varchar(4000) )
returns varchar(4000)
as
begin
declare @outstr varchar(4000)
set @outstr=''
while (len(@oldstr)>2)
begin
set @outstr=@outstr+left(@oldstr,2)+':'
set @oldstr=right(@oldstr, len(@oldstr)-2)
end
if @oldstr<>''
begin
set @outstr=@outstr+@oldstr
end
return @outstr
end
select dbo.fn_getColon('123456789')
第二种情况可以先把字符串中的字母替换掉,然后再调用该函数,建议还是通过前端程序来处理字符串。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用right函数。
select right('123456789',6) as cc
-----------
result
'456789'
不过移植起来会有点麻烦
select right('123456789',6) as cc
-----------
result
'456789'
不过移植起来会有点麻烦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询