1.檢視資料庫字符集
資料庫伺服器字符集:
select* from nls_database_parameters;
其**於props$,是表示資料庫的字符集。
客戶端字符集環境:
select* from nls_instance_parameters;
其**於v$parameter,表示客戶端的字符集的設定,可能是引數檔案,環境變數或者是登錄檔
會話字符集環境:
select* from nls_session_parameters;
其**於v$nls_parameters,表示會話自己的設定,可能是會話的環境變數或者是alter session完成,如果會話沒有特殊的設定,將與nls_instance_parameters一致。
2.修改字符集
字符集可以通過alter database來修改字符集,但也只限於子集到超集,不建議修改props$表,否則可能導致嚴重錯誤。
例如:修改資料庫服務端字符集為:zhs16gbk
sql>shutdownimmediate
sql>startupmount
sql>altersystem enable restricted session;
sql>altersystem set job_queue_processes=0;
sql>altersystem set aq_tm_processes=0;
sql>alterdatabase open;
sql>alterdatabase character set zhs16gbk;
若出現ora-12721的錯誤(如下:)使用internal_use可以跳過超集的檢查:
error at line1:ora-12721: operation cannot execute when other sessions are active
sql>alterdatabase character set internal_use zhs16gbk;
sql>shutdownimmediate
sql>startup
nls_nchar_characterset與nls_characterset的區別
nls_characterset為資料庫的字符集,影響資料庫中的varchar與clob等字段中的值
nls_nchar_characterset為國家字符集,影響資料庫中的nvarchar與nclob等字段中的值。
如將資料庫中nls_nchar_characterset的utf8修改為al16utf16:
SQL修改資料
關聯式資料庫的基本操作就是增刪改查,即crud create retrieve update delete。其中,對於查詢,我們已經詳細講述了select語句的詳細用法。而對於增 刪 改,對應的sql語句分別是 insert 插入新記錄 update 更新已有記錄 delete 刪除已有記錄。ins...
SQL批量修改資料
1 批量替換 期中的年份 以替換為2019年為例 update 資料表名 set 期時間字段 stuff convert nvarchar 23 期時間字段,120 1,4,2019 2 批量替換 期中的 份 以替換為6 為例 update 資料表名 set 期時間字段 stuff convert ...
SQL基礎 修改資料 INSERT
向資料庫中插入一條新紀錄時,就必須使用insert語句 語法insert into 表 欄位1 欄位2,values 值1,值2,students表 例項 向students表插入一條新紀錄 insert into students class id,name,gender,score values...