SQL中的字串字段根據某欄位實現自增

2022-02-12 10:24:09 字數 1599 閱讀 1538

--

下面的**生成長度為12的編號,編號以bh開頭,前四位數字為col欄位,其餘6位為流水號。

--得到新編號的函式

alter

function f(@col

int)

returns

char(12)as

begin

return(select'bh

'+right(10000

+@col,4)+right(1000001

+isnull(right(max(bh),6),0),6) from tb with(xlock,paglock) where col=

@col

) end

go--

在表中應用函式

drop

table

tb;create

table

tb(bh

char(12) primary

key,

col

intnot

null)--

插入資料

begin

tran

insert tb(bh,col) values(dbo.f(1),1

)

insert tb(bh,col) values(dbo.f(2),2

)

insert tb(bh,col) values(dbo.f(3),3

)

insert tb(bh,col) values(dbo.f(4),4

)

insert tb(bh,col) values(dbo.f(1),1

)

insert tb(bh,col) values(dbo.f(1),1

)

insert tb(bh,col) values(dbo.f(1),1

)

insert tb(bh,col) values(dbo.f(2),2

)

insert tb(bh,col) values(dbo.f(2),2

)

insert tb(bh,col) values((select'bh

'+right(10000

+2,4)+right(1000001

+isnull(right(max(bh),6),0),6) from tb with(xlock,paglock) where col=

2) ,2

)commit

tran

--顯示結果

select

*from

tb/*

結果bh0001000001 1

bh0001000002 1

bh0001000003 1

bh0001000004 1

bh0002000001 2

bh0002000002 2

bh0002000003 2

bh0002000004 2

bh0003000001 3

bh0004000001 4

*/

SQL 根據表獲取字段字串

sqlserver查詢單個資料表所有欄位名組合成的字串指令碼 sqlserver查詢單個資料表所有欄位名組合成的字串指令碼 應用場合 用於生成sql查詢字串中select 欄位名列表1 from table group by 欄位名列表2 中的欄位名列表1和欄位名列表2部分 定義資料表名稱變數 de...

MYSQL查詢某欄位中以逗號分隔的字串的方法

首先我們建立一張帶有逗號分隔的字串。create table test id int 6 not null auto increment,primary key id pname varchar 20 not null,pnum varchar 50 not null 然後插入帶有逗號分隔的測試資料...

MYSQL查詢某欄位中以逗號分隔的字串的方法

首先我們建立一張帶有逗號分隔的字串。create table test id int 6 not null auto increment,primary key id pname varchar 20 not null,pnum varchar 50 not null 然後插入帶有逗號分隔的測試資料...