解决Oracle中CHAR类型数据中空格问题的方法是什么?
可以用脚本把CHAR类型字段全部转换成VARCHAR2类型,同时截掉字符串的空格,如下:
declare
begin
for c in (select *
from user_tab_columns t1
where t1.DATA_TYPE = 'CHAR'
) loop
execute immediate 'alter table ' || c.table_name || ' add g_w_' || c.column_name || ' varchar2(' || c.char_length || ')';
execute immediate 'update ' || c.table_name || ' set g_w_' || c.column_name || ' = ' || c.column_name;
execute immediate 'update ' || c.table_name || ' set ' || c.column_name || ' = null';
execute immediate 'alter table ' || c.table_name || ' modify ' || c.column_name || ' varchar2(' || c.char_length || ')';
execute immediate 'update ' || c.table_name || ' set ' || c.column_name || ' = trim(g_w_' || c.column_name || ')';
execute immediate 'alter table ' || c.table_name || ' drop column g_w_' || c.column_name;
end loop;
end;
如何去除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;
用这个办法会去掉一些真正的Tab键空格,然后采取批量更新的办法。
3.但我遇到的情况没有这么幸运,没能去掉类空格键。怎么办呢?我决定尝试先取得这个类空格键的ASCII码值,然后再用chr(ASCII码值)的方法来处理。
①.取得含类空格键整个字符串的长度 length(),从而确定出类空格键在字符串中的起始位置、类空格键的长度。
②.出类空格键的ASCII码值:ascii(substr(xm,n,m)); n为类空格键的起始位置;m为长度。
③.SELECT replace(xm, chr(第②步得的ASCII码值) ) from table_name where;
问题得以解决。但我发现,上述第②步得的ASCII码值为41377,这应该是一个汉字的ASCII码值,看起来又像空格,于是我怀疑,会不会是中文状态下的空格键、TAB键?尝试之后发现不是。我又怀疑,是不是全角、半角的区别?因为我们一般输入字符,是在半角下输入的。我按照第一步“1.首先是去除空格在进行比较……”尝试,输入全角下的空格,进行查找,结果惊喜出现,原来所有未剔除掉的类空格,是全角状态下输入的空格,并接证实了全角下输入的空格,其ASCII码值为41377。
以上是解决Oracle中CHAR类型数据中空格问题的方法是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

在尝试在Windows 11上启动Valorts时,您可能会遇到“ Vanguard的这种构建不合规”问题。为什么出现错误消息?如何摆脱错误消息?来自PHP.CN的这篇文章提供了详细信息。

NVIDIA GEFORCE RTX 40系列GPU对您来说可能不是新事物。与其他顶级图形卡相比,您中的许多人可能会以可接受的价格更加关注中端主流RTX 4050。阅读PHP.CN网站的本指南以获取D

KB2267602是Windows Defender的保护或定义更新,旨在修复Windows中的漏洞和威胁。一些用户报告说他们无法安装KB2267602。这篇来自PHP.CN的帖子介绍了如何修复“ KB2267602 FAI

如果需要这样做,您知道如何重新安装Windows 11中的预安装软件吗?在这篇文章中,我们将介绍两种简单的方法。此外,如果要在Windows计算机上恢复文件,则可以尝试使用PHP.CN电源数据恢复。

进行一些更改时,Windows桌面或文件资源管理器或文件夹将自动刷新本身。但是,一些Windows 11/10用户报告说,他们遇到了“桌面和文件文件夹不会自动刷新”问题。这篇文章f

当您尝试在Windows 11/10上安装程序时,您可能无法安装它并接收错误消息 - 此Windows Installer软件包存在问题。 PHP.CN的这篇文章可帮助您修复它。

当您在设备上运行防病毒软件时,您可能希望它扫描所有文件和文件夹以获取病毒。但是,出现一个问题:防病毒扫描可以加密文件吗?该询问深入研究了安全与隐私领域。 php.cn So

如何在Windows上下载HDMI视频驱动程序?如何将HDMI驱动程序更新为最新版本。您可以在这里找到方法。此外,您可以尝试使用PHP.CN电源数据恢复,以便在必要时丢失和删除的文件。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

记事本++7.3.1
好用且免费的代码编辑器

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

WebStorm Mac版
好用的JavaScript开发工具