7 回答

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個(gè)贊
update [Contract] set Buget=',' Buget where left(Buget,1)<>',';??
update [Contract] set Buget=Buget ',' where right(Buget,1)<>',';
?
表中字段不一定,曾經(jīng)有個(gè)大表,80 多個(gè)字段
字段最好不好超過40個(gè),另外這個(gè)也看字段的類型,如果都是int 或者 bit 類型的字段,多一些問題也不大
個(gè)人意見

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊
IF NOT OBJECT_ID('[Contract]') IS NULL
DROP TABLE [Contract]
GO
Create table [Contract]
(ID int primary key identity(1,1)
,[Name] nvarchar(50) null
,Total float null
,buget Nvarchar(500) null
)
go
insert into [Contract]
select '合同名稱', 100,'102,22'
union all
select '合同名稱2', 300,',102,22,'
union all
select '合同名稱3', 300,'101,23,'
--------update [Contract] set buget=',' buget where left(buget,1)=','
--------update [Contract] set buget=buget ',' where right(buget,1)=','
update [Contract]
set buget=(case when (left(buget,1)!=',' and right(buget,1)!=',') then ',' buget ','
when left(buget,1)!=',' then ',' buget
when right(buget,1)!=',' then buget ','
else buget
end)
/*
(3 row(s) affected)
*/
select * from [Contract]

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊
create table aa
(
?buget varchar(50)
)
update aa set buget=',' buget ',' where? left(buget,1)<>',' or right(buget,1)<>','
select * from aa

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊
忘記了 號(hào)

TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊
- 7 回答
- 0 關(guān)注
- 624 瀏覽
添加回答
舉報(bào)