久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

增加 T-sql 中的字符值

Incrementing Character value in T-sql(增加 T-sql 中的字符值)
本文介紹了增加 T-sql 中的字符值的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問(wèn)題描述

我在一列中有 2 組值,即前 4 個(gè)字符是字符,接下來(lái)的 4 個(gè)字符是數(shù)字.例如:AAAA1234現(xiàn)在我必須從右端增加值,即當(dāng)數(shù)值達(dá)到 9999 時(shí),我必須將字符增加 1 個(gè)字符.

I have 2 set of values in a column i.e first 4 character are characters and next 4 character are numeric. Ex:AAAA1234 Now I have to increment the value from right end i.e when numeric value reached 9999 then I have to increment character by 1 character.

示例:考慮存儲(chǔ)在列中的最后一個(gè)值是 AAAA9999,然后下一個(gè)遞增的值應(yīng)該是序列 AAAB9999,..... AABZ9999,... BZZZ9999..... ZZZZ9999(last value).當(dāng)它達(dá)到 ZZZZ9999 時(shí),我必須將值重置為 AAAA0001.

Sample : Consider the last value stored in a column is AAAA9999 then next incremented values should be in a sequence AAAB9999,....... AABZ9999,..... BZZZ9999..... ZZZZ9999(last value). And when it reaches ZZZZ9999 then I have to reset the value to AAAA0001.

如何在 T-SQL 中做到這一點(diǎn)???

How can do it in T-SQL ???

推薦答案

這是一個(gè)概念性腳本,它可以滿足您的需求.您需要對(duì)其進(jìn)行調(diào)整以滿足您的要求

Here is a conceptual script, which does what you want. You will need to tweak it to suit your requirements

DECLARE @test table(TestValue char(8))
DECLARE @CharPart char(4),@NumPart int
SET @CharPart = 'AAAA'
SET @NumPart = 1
WHILE @NumPart <=9999
BEGIN
INSERT INTO @test
SELECT @CharPart+RIGHT(('0000'+CAST(@NumPart AS varchar(4))),4)
IF @NumPart = 9999
    BEGIN
    IF SUBSTRING(@CharPart,4,1)<>'Z'
        BEGIN
        SET @CharPart = LEFT(@CharPart,3)+CHAR(ASCII(SUBSTRING(@CharPart,4,1))+1)
        SET @NumPart = 1
        END
    ELSE IF SUBSTRING(@CharPart,4,1)='Z' AND SUBSTRING(@CharPart,3,1) <>'Z'
        BEGIN
        SET @CharPart = LEFT(@CharPart,2)+CHAR(ASCII(SUBSTRING(@CharPart,3,1))+1)+RIGHT(@CharPart,1)
        SET @NumPart = 1
        END 
    ELSE IF SUBSTRING(@CharPart,3,1)='Z' AND SUBSTRING(@CharPart,2,1) <>'Z'
        BEGIN
        SET @CharPart = LEFT(@CharPart,1)+CHAR(ASCII(SUBSTRING(@CharPart,2,1))+1)+RIGHT(@CharPart,2)
        SET @NumPart = 1
        END 
    ELSE IF SUBSTRING(@CharPart,1,1)<>'Z' 
        BEGIN
        SET @CharPart = CHAR(ASCII(SUBSTRING(@CharPart,1,1))+1)+RIGHT(@CharPart,3)
        SET @NumPart = 1
        END
    ELSE IF SUBSTRING(@CharPart,1,1)='Z' 
        BEGIN
        SET @CharPart = 'AAAA'
        SET @NumPart = 1
        INSERT INTO @test
        SELECT @CharPart+RIGHT(('0000'+CAST(@NumPart AS varchar(4))),4)
        BREAK
        END 
    END
ELSE
    BEGIN
    SET @NumPart=@NumPart+1
    END
END

SELECT * FROM @test

這篇關(guān)于增加 T-sql 中的字符值的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Converting Every Child Tags in to a Single Column with multiple Delimiters -SQL Server (3)(將每個(gè)子標(biāo)記轉(zhuǎn)換為具有多個(gè)分隔符的單列-SQL Server (3))
How can I create a view from more than one table?(如何從多個(gè)表創(chuàng)建視圖?)
Create calculated value based on calculated value inside previous row(根據(jù)前一行內(nèi)的計(jì)算值創(chuàng)建計(jì)算值)
How do I stack the first two columns of a table into a single column, but also pair third column with the first column only?(如何將表格的前兩列堆疊成一列,但也僅將第三列與第一列配對(duì)?) - IT屋-程序員軟件開(kāi)發(fā)技
Recursive t-sql query(遞歸 t-sql 查詢)
Convert Month Name to Date / Month Number (Combinations of Questions amp; Answers)(將月份名稱(chēng)轉(zhuǎn)換為日期/月份編號(hào)(問(wèn)題和答案的組合))
主站蜘蛛池模板: 污免费网站| 中文字幕成人在线 | 精品不卡 | 91不卡| 99国产精品久久久久 | 成人免费视频在线观看 | 精品久久久久久久人人人人传媒 | 国产高清久久 | 不卡一区二区在线观看 | 亚洲高清视频一区二区 | 99精品国产一区二区青青牛奶 | 亚洲视频在线看 | xx视频在线 | 日本三级在线网站 | 天堂精品 | 日韩一区二区三区在线观看 | 成人在线观看免费爱爱 | 一本一道久久a久久精品蜜桃 | 一级国产精品一级国产精品片 | 夜夜草 | 日韩精品色网 | www.日本国产 | 久久综合狠狠综合久久综合88 | 操视频网站 | 欧美久久一区 | 久久久久久国产精品 | 久草视频在线播放 | 黄色片网站国产 | 日韩在线免费视频 | 免费在线观看一区二区三区 | 久草资源 | 欧美黄在线观看 | 亚洲 中文 欧美 日韩 在线观看 | 成人片免费看 | 亚洲欧美中文日韩在线 | 色综合一区二区三区 | 亚洲精品一区二区 | 国产欧美久久精品 | 欧美群妇大交群中文字幕 | 国产精品一二三区 | 操视频网站 |