一,現有6位數的字串,列印3位數的字串組合
declare@svarchar(50
),
@xtinyint,@y
tinyint,@z
tinyint
set@x=1
set@s='
abcdef
'while
@x<
5begin
set@y=2
while
@y<
6begin
set@z=3
while
@z<
7begin
if (@x+@y
-1)>
5or (@x+@y
+@z-3)>
6break
substring(@s,@x,1)+
substring(@s,@x+@y
-1,1)+
substring(@s,@x+@y
+@z-3,1
)
set@z=@z
+1endset@y=
@y+1end
set@x=@x
+1end
二、現有6位數字串,列印4位數字串的組合
declare@svarchar(50
),
@xtinyint,@y
tinyint,@z
tinyint,@n
tinyint
set@x=1
set@s='
abcdef
'while
@x<
4begin
set@y=2
while
@y<
5begin
set@z=3
while
@z<
6begin
set@n=4
while
@n<
7begin
if (@x+@y
-1)>
4or (@x+@y
+@z-3)>
5or (@x+@y
+@z+@n
-6)>
6break
substring(@s,@x,1)+
substring(@s,@x+@y
-1,1)+
substring(@s,@x+@y
+@z-3,1)+
substring(@s,@x+@y
+@z+@n
-6,1
)
set@n=@n
+1endset@z=
@z+1end
set@y=@y
+1endset@x=
@x+1end
三、第二點的另一中演算法
declare@svarchar(50
),
@xtinyint,@y
tinyint
set@x=1
set@s='
abcdef
'while
@x<
6begin
set@y=2
while
@y<
7begin
if (@x+@y
-1)>
6break
replace(replace(@s,substring(@s,@x,1),''),substring(@s,@x+@y
-1,1),''
)
set@y=@y
+1endset@x=
@x+1end
四、現有6位數字串,列印5位數字串的組合
declare@svarchar(50
),
@xtinyint
set@x=1
set@s='
abcdef
'while
@x<
7begin
replace(@s,substring(@s,@x,1),''
)
set@x=@x
+1end
SQL根據字串B分隔字串A
建立錶值函式 1 create function dbo f split 2 3 splitstring nvarchar max 源字串a 4 separator nvarchar 10 分隔字串b,預設為空格5 6returns splitstringstable table 輸出的資料表7 8...
SQL基礎(三) SQL根據」,「分割字串
declare sysno nvarchar 500 set sysno 4,11064,100 declare table reviewid table sysno int not null while charindex sysno 0 begin insert into table revie...
SQL 根據表獲取字段字串
sqlserver查詢單個資料表所有欄位名組合成的字串指令碼 sqlserver查詢單個資料表所有欄位名組合成的字串指令碼 應用場合 用於生成sql查詢字串中select 欄位名列表1 from table group by 欄位名列表2 中的欄位名列表1和欄位名列表2部分 定義資料表名稱變數 de...