问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

sql 取字符串的值 并加一

发布网友 发布时间:2022-04-08 07:25

我来回答

3个回答

热心网友 时间:2022-04-08 08:54

不同的有不同方法的额,支持正则就很快,不支持就使用自定义函数实现。
正则方法(Oracle)

SELECT SUBSTR('WIN000018'
,1
,LENGTH('WIN000018') -
LENGTH(REGEXP_REPLACE('WIN000018', '[^0-9]+0+', ''))) ||
TO_CHAR(TO_NUMBER(REGEXP_REPLACE('WIN000018', '[^0-9]', '')) + 1)
FROM DUALCREATE
FUNCTION [dbo].[GET_NUMBER_ADD1](@P VARCHAR(100)) RETURNS VARCHAR(100)
AS
BEGIN

DECLARE @S NVARCHAR(100)
DECLARE @R NVARCHAR(100)
DECLARE @I INT
DECLARE @J INT

SET @I=LEN(@P)

SET @S = @P

WHILE PATINDEX('%[^0-9]%',@S) > 0
BEGIN
set @s=stuff(@s,patindex('%[^0-9]%',@s),1,'')
END

SET @J= convert(int,@s)+1
set @R=right('00000000'+convert(nvarchar,@j),len(@i))
set @R= left(@p,@i-len(@i))+@R

RETURN @R

END
--select GET_NUMBER_ADD1('WIN000018') from temp

热心网友 时间:2022-04-08 10:12

哪种SQL?不同的有不同方法的额,支持正则就很快,不支持就使用自定义函数实现。
正则方法(Oracle)

SELECT SUBSTR('WIN000018'
,1
,LENGTH('WIN000018') -
LENGTH(REGEXP_REPLACE('WIN000018', '[^0-9]+0+', ''))) ||
TO_CHAR(TO_NUMBER(REGEXP_REPLACE('WIN000018', '[^0-9]', '')) + 1)
FROM DUAL

热心网友 时间:2022-04-08 11:47

这种现实中的业务编号是通过序列实现的,而并非取出来再加1这种操作.追问我就是要这个功能 能不能实现

追答

-- OK,以下脚本完全可以实现的你的业务需求:

CREATE SEQUENCE seq_test
 AS [int]
 START WITH 18
 INCREMENT BY 1
 MINVALUE 1
 MAXVALUE 2147483647
 CACHE  10 
GO


create procere sp_test_bllno
@pfix  nvarchar(20)
as
begin
  
    declare @seqno nvarchar(10);
    declare @bllno nvarchar(50);

    set @seqno=cast(next value for seq_test as int);
    
    while(len(@seqno)<6)
     begin
  set @seqno='0'+@seqno;
     end

    set @bllno=@pfix+@seqno;

    select @bllno ;
end

go

execute sp_test_bllno 'WIN';
execute sp_test_bllno 'WIN';
execute sp_test_bllno 'WIN';
execute sp_test_bllno 'WIN';
execute sp_test_bllno 'WIN';

go

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何理解“时间就是空间,空间就是时间”? 办公室副主任竞聘演讲稿范文 学校办公室主任竞聘演讲稿范文 最新办公室主任竞聘演讲稿 办公室主任竞聘演讲稿优秀范文 ...堆墨现象,墨线 接地和粘度都正常,请问应如何解决 ...都正常了开始喷印结果喷一条墨线好恐怖怎么解决呀各位老师 威力喷码机 求一份学生会演讲词 大学学生会个人优秀演讲稿 生铁和刚的含碳量分别是多少? 生铁是纯净物还是混合物 生铁和钢中主要含什么元素 生铁中除含碳以外还含有哪两种元素 生铁含碳量比钢的含碳量高还是低? 生铁里含有什么 不敢说话怎么办? 招联金融为什么借不了钱? 我的招联金融用的好好的。为什么突然借不出钱了? 电脑联网为什么用路由器,IP等是什么,怎样才可以明白电脑原理?大师点化 动态路由的工作原理是什么? 从TCP/IP 层面来说,路由器限速的原理是什么? 路由器WAN口的公网IP和DNS分配的LAN的私网的 是不是通过物理层实现的 原理是什么 IP各路由选择协议的作用和原理是 路由器工作原理? 路由器的工作原理?简单明了易懂.(适合初学者) IP路由器原理与技术 电脑命令怎么打开 谁能教我怎么使用命令行啊! 河南滑县督察局的投诉电话是多少啊,请帮忙找找啊,谢谢!! 十几年前电视剧上的一首歌,歌词就记住一句是,月是故乡明、人是故乡亲 不是慈母心,还有谁知道吗? 求岛谷瞳初恋的中文版歌词 一别之后,两地相思,只说三四月,谁知又五六年,剩下的部分是什么? 雨绵绵情意意,多少故事在心里的歌名叫什么? 有一首很好听的歌,我只记得其中两句歌词,好像是“雨绵绵情意浓,多少柔情在心中”,哪位高手告诉我? 上错花娇嫁对郎的歌词 四大总管·风撩汝心小说txt全集免费下载 雨连连,情依依,多少故事在心里歌词的名字叫什么,谁唱的,求解答,谢谢。。。 上错花轿嫁对郎的主题曲歌名叫什么 司马相如与妻子写的信:一别数日两心相悬,后面是什么) 上错花轿嫁对郎的片尾曲叫什么 为什么农历五月不能结婚? 有一首诗,全文是怎么样的不记得了,用数字开头的. 上海移动宽带光猫换一条线可以直接使用吗 请问用微信 扫二维码需要联网吗?不是支付,是疫情期间,要扫二维码 鹤城码怎么查 KWASON注册过商标吗?还有哪些分类可以注册? 手机微信收付款二维码被扫描之后会手机中病毒吗? KAWS与Air jordan4清晰图示出是否为发售的前兆? 用WinKawsak玩拳皇97是不是现在不能联网玩