sqlServer去除字段中的中文

很多时候数据库表中某些字段是由中文和字母或数字组成,但有时我们又需要将字段中的中文去掉。想要实现这种需求的方法有很多,下面就是其中一种解决方法。

首先我们先建立测试数据

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)
AS
begin
    declare @returnchar varchar(1000),@len int
    select @returnchar=‘‘,@len=1

    while(@len<=len(@col))
    begin
        if(ASCII(substring(@col,@len,1))<122)
        set @[email protected]+substring(@col,@len,1)
        set @[email protected]+1
    end
return @returnchar
end
go

执行:

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

执行结果:

时间: 2024-12-24 12:47:16

sqlServer去除字段中的中文的相关文章

sqlserver数据库 去除字段中空格,换行符,回车符(使用replace语句)

SQL中可以使用Replace函数来对某个字段里的某些字符进行替换操作,语法如下: 语法 REPLACE ( original-string, search-string, replace-string ) 参数 如果有某个参数为 NULL,此函数返回 NULL. original-string     被搜索的字符串.可为任意长度. search-string     要搜索并被 replace-string 替换的字符串.该字符串的长度不应超过 255 个字节.如果 search-strin

mysql 查询字段中包含中文的查询语句

工作需要:删除字段中所有包含中文的: SELECT * FROM `TableName` WHERE LENGTH(`ColumnName`)<>CHARACTER_LENGTH(`ColumnName`)

mysql导出csv格式去除字段中的\n\r

第一种方法 在导出界面,打开csv自定义选项,勾选 "删除字段中的回车换行符" 选项 phpmyadmin版本是3.4 2.X版本没看到这个选项 第二种方法 UPDATE catalog_product_entity_text SET `value` = REPLACE( REPLACE( `value` , CHAR( 10 ) , '' ) , CHAR( 13 ) , '' ) ; 将数据库字段回车符去掉

mysql 使用正则REGEXP匹配字段中的中文字符

1.匹配包含中文和其他字符的字段: SELECT * FROM table WHERE HEX(name) REGEXP '[[:<]]*(e[4-9][0-9a-f]{4})+.*[[:>:]]' 2.匹配只包含中文.字母.数字的字段 : SELECT * FROM table WHERE HEX(name) REGEXP '[[:<:]](e[4-9][0-9a-f]{4}|3[0-9]|4[0-9A-F]|5[0-9A]|6[0-9A-F]|7[0-9A]|5F)+[[:>:

asp 如何去除 字段 中的html 格式

Function RemoveHTML( strText ) Dim RegEx Set RegEx = New RegExp RegEx.Pattern = "<[^>]*>" RegEx.Global = True RemoveHTML = RegEx.Replace(strText, "") End Function

Oracle中判断字段是否包含中文

如果要判断字段中包含中文,有个简单的方法. SQL> drop table test purge; SQL> create table test as select * from dba_objects where rownum<10; SQL> update test set object_name='中国' where  rownum <3; SQL> commit; SQL> col object_name format a30 SQL> col as

ORACLE判别字段是否包含中文

在ORACLE数据库中如何查找那些字段里面包含中文的数据记录呢,有时候就是有这样的特殊需求,下面整理了一些判别字段中包含中文记录的几个方法 1:使用ASCIISTR函数判别 ASCIISTR函数说明: ASCIISTR返回字符的ASCII形式的字符串.非ASCII的字符被转化为\xxxx的形式. 使用ASCIISTR函数也是根据非ASCII字符会被转化这个特性来判别中文字符,只要里面包含中文字符,则必定会有\xxx这样的字符.且简体汉字的编码范围是B0A1 - F7FE.如下例子所示 CREAT

Java批量去除文件名中的广告字段

最近下了淘宝到的极客学院视频,但是发现附带了好多广告文件并且所有文件都加了广告后缀(如图).我没有强迫症但也觉得实在不爽. 首先我通过windows自带的搜索功能删除了所有的广告文件,这很简单,就不说了. 然后我通过查找资料,写了一个Java程序删掉了所有文件的广告字段,下面是代码: import java.io.File; /** *自动扫描文件夹下的所有文件并去除文件名中的广告字段 */ public class Main2 { //在此输入要删去的广告内容 public static fi

构造From窗体获取数据库数据,去除数据库中无用信息,并赋值给字段,最后画出图

private void cbNum_SelectedIndexChanged(object sender, EventArgs e) { FieldListLug.Clear();//继续清除字段 if (cbType.Text == A)//选择了A { string killedString = ""; killedString = "ID,lugNumber,q1,q2,DnX,DnD,Th,kg"; DataTable tbSize =GetAccessD