成都网站建设设计

将想法与焦点和您一起共享

oracle如何更新字符,oracle更新字段内容

如何更改Oracle字符集

复制一段吧:

专注于为中小企业提供网站建设、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业东安免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

通常情况下,字符集是在安装的时候选定好的,需要修改数据库的字符集Oracle建议的做法是重建数据库(EXP/EXPDP导出后再导入),虽然Oracle官方文档也有说如何修改字符集,但这不是Orale推荐的方法.下面是Oracle官方文档中提到的如何修改字符集的方法.

1.查看当前数据库字符集

select * from nls_database_parameters

where parameter='NLS_CHARACTERSET';

-----------------------------------

PARAMETER VALUE

NLS_CHARACTERSET WE8ISO8859P1

这里的字符集WE8ISO8859P1是不支持中文的

2.将字符集修改为中文字符集ZHS16GBK

SQL shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL STARTUP MOUNT;

ORACLE instance started.

Total System Global Area 734003200 bytes

Fixed Size 1221564 bytes

Variable Size 264244292 bytes

Database Buffers 465567744 bytes

Redo Buffers 2969600 bytes

Database mounted.

SQL ALTER SYSTEM ENABLE RESTRICTED SESSION;

System altered.

SQL ALTER DATABASE OPEN;

Database altered.

SQL ALTER DATABASE CHARACTER SET ZHS16GBK;

ALTER DATABASE CHARACTER SET ZHS16GBK

*

ERROR at line 1:

ORA-12712: new character set must be a superset of old character set

SQL ALTER DATABASE character set INTERNAL_USE ZHS16GBK;

Database altered.

SQL SHUTDOWN IMMEDIATE;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL startup

ORACLE instance started.

Total System Global Area 734003200 bytes

Fixed Size 1221564 bytes

Variable Size 264244292 bytes

Database Buffers 465567744 bytes

Redo Buffers 2969600 bytes

Database mounted.

Database opened.

这样将数据库的字符集由原来的WE8ISO8859P1修改成了ZHS16GBK,对原来的字符集有中文的显示的还是乱码,但对新入库的中文字符集就能正常显示.

oracle如何更新某列数据的前几个字符

更新前几个字符用substr函数。

如test表中有如下数据:

现要将“财务”二字改成“财务”,可用如下语句:

update test set dept='财务'||substr(dept,-1) where dept='财务部';

commit;

更新后结果:

oracle怎么更新表中的某一个字段的值

通过Update语句将A表的某列值修改为B表中的指定列的值时,所用的sql语句在Oracle和SQL Server中是不一样的,

代码如下:

Oracle中的语句:

UPDATE A

SET A.COL1=(SELECT B.COL1 from B where A.KEY=B.KEY [and 其它限制(可选)] )

where 其它条件

SQL Server中更新语句:

update A

SET A.COL1=B.COL1

FROM A,B where A.KEY=B.KEY where 其它条件限制

若关联条件为多个,where后面用and 连接指定条件即可

关于 Oracle 的 Update 更新 & 字符

试验了一下,确实存在这情况

在sqlplus里和plsql都有这种情况,但我在SQL Navigator里可以直接改

不过可以给你个笨方法

select (ascii('')) from dual ;

得到的ascii码是38

然后

Update xxx Set column = 'xxx'||chr(38)||'xx'

-----------补充------------

又找到一个办法,见图


本文名称:oracle如何更新字符,oracle更新字段内容
标题URL:http://chengdu.cdxwcx.cn/article/dsdjjhg.html