oracle 去除空格
update table set name=replace(name," ","");select replace(name," ","") from table;
两种方式均可,第一种将数据库中数据改变,第二种不改变数据库中的数据,直接查询。需要用到replace()函数。含义为:替换字符串;replace(原字段,“原字段旧内容“,“原字段新内容“)。
扩展资料:
oracle常用字符串函数
1、CHR
语法: chr(x)
功能:返回在数据库字符集中与X拥有等价数值的字符。CHR和ASCII是一对反函数。经过CHR转换后的字符再经过ASCII转换又得到了原来的字符。
使用位置:过程性语句和SQL语句。
2、CONCAT
语法: CONCAT(string1,string2)
功能:返回string1,并且在后面连接string2。
使用位置:过程性语句和SQL语句。
3、INITCAP
语法:INITCAP(string)
功能:返回字符串的每个单词的第一个字母大写而单词中的其他字母小写的string。单词是用.空格或给字母数字字符进行分隔。不是字母的字符不变动。
使用位置:过程性语句和SQL语句。
4、LTRIM
语法:LTRIM(string1,string2)
功能:返回删除从左边算起出现在string2中的字符的string1。String2被缺省设置为单个的空格。数据库将扫描string1,从最左边开始。当遇到不在string2中的第一个字符,结果就被返回了。LTRIM的行为方式与RTRIM很相似。
使用位置:过程性语句和SQL语句。
5、NLS_INITCAP
语法:NLS_INITCAP(string[,nlsparams])
功能:返回字符串每个单词第一个字母大写而单词中的其他字母小写的string,nlsparams
指定了不同于该会话缺省值的不同排序序列。如果不指定参数,则功能和INITCAP相同。Nlsparams可以使用的形式是:
oracle数据库去除换行、空格、回车字符
去除换行
update zhzl_address t set t.add_administration_num=replace(t.add_administration_num,chr(10),'');
去掉回车
update zhzl_address t set t.add_administration_num=replace(t.add_administration_num,chr(13),'');
去掉空格
update zhzl_address t set t.add_administration_num=trim(t.add_administration_num);
有什么方法能将oracle中CHAR类型数据中的空格去掉
方法一:char在数据库中存储总是将不足定义长度以空格填补,使用varchar2数据类型就不会自动空格填补了。
方法二:
在查询的时候使用replace函数,将空格去掉。replace(columnname,'
','')
oracle中能去掉数据前后空格的函数是什么?
selecttrim('aaa')fromdual;
selectLtrim('aaa')fromdual;
selectRtrim('aaa')fromdual;
selectRtrim(Ltrim('aaa'))fromdual。
Oracle Database是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用。
系统具有:可用性强、可扩展性强、数据安全性强、稳定性强等优点。
如何去除Oracle库表结构中的类空格字符
1.首先是去除空格在进行比较(比如,把姓名中的所有空格去除):
Update table_name set xm=replace(xm , ' ') ;
如果要查找哪些记录含有' ',可用相关的语句查找。
然后可进行比较。
2.但是我们可能会发现,有些姓名中间或末尾还有类似空格的字符没被去掉,但它们显然已经不是一般的空格了,那么怀疑是Tab健作怪。于是参照网上说的去掉TAB键的办法来处理,用chr(9)来替代空格键(TAB键的ASCII值为9)。先取一条带有类空格字符的记录来做实验:
SELECT replace(xm, chr(9) ) from table_name where bh=’xxx’;
用这个办法会去掉一些真正的Tab键空格,然后采取批量更新的办法。
3.但我遇到的情况没有这么幸运,没能去掉类空格键。怎么办呢?我决定尝试先取得这个类空格键的ASCII码值,然后再用chr(ASCII码值)的方法来处理。
①.取得含类空格键整个字符串的长度 length(),从而确定出类空格键在字符串中的起始位置、类空格键的长度。
②.求出类空格键的ASCII码值:ascii(substr(xm,n,m)); n为类空格键的起始位置;m为长度。
③.SELECT replace(xm, chr(第②步求得的ASCII码值) ) from table_name where bh=’xxx’;
问题得以解决。但我发现,上述第②步求得的ASCII码值为41377,这应该是一个汉字的ASCII码值,看起来又像空格,于是我怀疑,会不会是中文状态下的空格键、TAB键?尝试之后发现不是。我又怀疑,是不是全角、半角的区别?因为我们一般输入字符,是在半角下输入的。我按照第一步“1.首先是去除空格在进行比较……”尝试,输入全角下的空格,进行查找,结果惊喜出现,原来所有未剔除掉的类空格,是全角状态下输入的空格,并接证实了全角下输入的空格,其ASCII码值为41377。