sqlServer去除欄位中的中文

2022-05-02 07:54:10 字數 1346 閱讀 5093

很多時候資料庫表中某些欄位是由中文和字母或數字組成,但有時我們又需要將字段中的中文去掉。想要實現這種需求的方法有很多,下面就是其中一種解決方法。

首先我們先建立測試資料

create table test(

id int primary key identity(1,1),

name varchar(20) not null

)insert into test(name) values('測試2')

insert into test(name) values('測試a')

insert into test(name) values('測試')

insert into test(name) values('abc')

insert into test(name) values('123')

insert into test(name) values('abc123')

select * from test

結果:

建立函式:

--去除輸入字串中的中文

create function fun_del_chinese

(@col varchar(1000))

returns varchar(1000)

asbegin

declare @returnchar varchar(1000),@len int

select @returnchar='',@len=1

while(@len<=len(@col))

begin

if(ascii(substring(@col,@len,1))<122)

set @returnchar=@returnchar+substring(@col,@len,1)

set @len=@len+1

endreturn @returnchar

endgo

執行:

update test set name=t2.name

from test t1,

(select id,dbo.fun_del_chinese(name) name from test

where len(name)*2!=datalength(name)--排除全部由中文組成字段

) t2

where t1.id=t2.id

執行結果:

SQL Server 中字段的精度問題

在工作中遇到,乙個多表聯合查詢的情況,查詢出來的有些字段精度太高,小數點後達到8個0,現在客戶要求報表只要精確到0.01 就是只要小數點後面只要儲存兩位,另外還需要四捨五入 建立乙個測試表 use test create table studentscore id int identity 1,1 ...

SqlServer去除特殊字元

1.sql trim 函式去掉兩頭空格 ltrim 去除左空格rtrim 去除右空格。去除兩頭空格就是 select ltrim rtrim 字段 2.replace 函式替換字元 按照ascii碼 select char 64 對應 那麼 select replace abc 163.com ch...

SQLServer中XML欄位型別的增刪改查

最新專案上遇到資料上報的問題需要修改xml型別字段,xml型別不能作為varchar型別直接修改。給大家做個簡單介紹使用sqlserver的xml操作方法。在ms中新建資料庫表testtable,定義其中乙個欄位contentxml 為xml型別 declare xml xml set xml 1前...