關於字符集中NLS_LANG引數show parameter nls 和v$nls_parameter 中的值不一樣
今天下午,在測試庫上偶然發現:
alter session set nls_language='american'; 後
show parameter nls
這個nls_language引數竟然沒有變
執行:select * from v$nls_parameters; (檢視當前session的)
這個值變了;
也就是說我alter session set nls_language='american';修改當前會話的此引數是沒錯的
那為什麼show parameter nls中的值沒變呢?
------------------------------------------------------------------------------------------------------------------------------------
找了一下午,總算有點眉目了
關於NLS相關的引數,比較特殊:
它有三個檔:
1、資料庫伺服器字符集:select * from nls_database_parameters,其來源於props$,是表示資料庫的字符集。
2、客戶端字符集環境:select * from nls_instance_parameters,其來源於v$parameter , 表示客戶端的字符集的設定
----這就是show parameter nls中的引數(show parameter 顯示的就是v$parameter 中的值)
3、當前會話的字符集:select * from nls_session_parameters,其來源於v$nls_parameters,表示會話自己的設定
----我們alter session set nls_language='AMERICAN'; 改的就是會話的字符集
所以說我們alter session set nls_language='AMERICAN'; 後show parameter nls中的值並沒有變;
因為NLS相關的引數比較特殊,show parameter nls 顯示的是instance檔的,而不是當前session的;
別的引數,show parameter 顯示的是當前session的
*****************補充********************
SQL> select * from nls_database_parameters; PARAMETER VALUE ------------------------------ -------------------------------------------------------------------------------- NLS_LANGUAGE SIMPLIFIED CHINESE NLS_TERRITORY CHINA NLS_CURRENCY ? NLS_ISO_CURRENCY CHINA NLS_NUMERIC_CHARACTERS ., NLS_CHARACTERSET ZHS16GBK NLS_CALENDAR GREGORIAN NLS_DATE_FORMAT DD-MON-RR NLS_DATE_LANGUAGE SIMPLIFIED CHINESE NLS_SORT BINARY NLS_TIME_FORMAT HH.MI.SSXFF AM NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR NLS_DUAL_CURRENCY ? NLS_COMP BINARY NLS_LENGTH_SEMANTICS BYTE NLS_NCHAR_CONV_EXCP FALSE NLS_NCHAR_CHARACTERSET AL16UTF16 NLS_RDBMS_VERSION 11.2.0.1.0 20 rows selected
資料庫字符集(NLS_CHARACTERSET):表中CHAR, VARCHAR2, CLOB, LONG等型別資料用資料庫字符集
國家字符集(NLS_NCHAR_CHARACTERSET):表中NCHAR, NVARCHAR2, NCLOB等型別資料用國家字符集
其實大部分情況我們都是用的資料庫字符集,國家字符集用的很少,僅作為一個補充
US7ASCII ----英文字符集(老外用)
zhs16cgb231280 ----進化後就是ZHS16GBK
AL32UTF8 -----資料庫字符集(跨國企業)
AL16UTF16 ----國家字符集就用這個,不用別的
ZHS16GBK --- 資料庫字符集(就中國人用)
utf8 ---進化後就是AL32UTF8
國家字符集就用AL16UTF16
如果你的資料庫可能要涉及到多個國家的語言,那資料庫字符集選 AL32UTF8
如果你的資料庫就中國人用,那就選 ZHS16GBK,以為ZHS16GBK要比AL32UTF8字元編碼佔的空間少,效能更好
相關推薦
關於字符集中NLS_LANG引數show parameter nls 和v$nls_parameter 中的值不一樣
今天下午,在測試庫上偶然發現: alter session set nls_language='american'; 後 show parameter nls 這個nls_language引數竟然沒有變 執行:select * from v$nls_parameter
1.12 判斷字符串第一次出現的位子 和 字符串是否存在
clas [] pac println oid 判斷 main true int package Demo; public class Demo4 { public static void main(String[] args) { String str = "hello
字符串匹配的BF算法和KMP算法學習
.html 意義 else 概念 下一個 org abc 關於 bf算法 引言:關於字符串 字符串(string):是由0或多個字符組成的有限序列。一般寫作`s = "123456..."`。s這裏是主串,其中的一部分就是子串。 其實,對於字符串大小關系不如是否相同重要。
cocos2d JS 函數類型相互轉換(字符串、整形、浮點形、布爾值)
賦值 defined 基數 bject 布爾 ring 浮點型 謝謝 val 工作忙好些天了,近段時間抽點空分享一下自己學習JS的一點筆記心得做點記錄,大神勿噴,謝謝! p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0
android中一些特殊字符(如:←↑→↓等箭頭符號)的Unicode碼值
lin gb2312 ring clu itl app lan orien lam 在項目中,有時候在一些控件(如Button、TextView)中要添加一些符號,如下圖所示: 這個時候可以使用圖片的方式來顯示,不過這
[LeetCode] Minimum ASCII Delete Sum for Two Strings 兩個字符串的最小ASCII刪除和
example ins 刪除 let urn etc clas ascii possible Given two strings s1, s2, find the lowest ASCII sum of deleted characters to make two
將字符串中間的某段長度替換成固定的值
pub 表示 字符串 rar obi 字符 客戶 [] for 今天經理讓把手機號的中間幾位替換為*,為了保護客戶隱私,剛開始一直想著是用字符串的截取啊、替換啊,發現不行,又去查api,看到了 toCharArray public char[] toCharArray()
java-String類中的各字符串判斷(包括" "和null的區別)
mos 大小 既然 main 引用數據類型 同時 ins emp gpo package com.day7.one; public class DemoString1 { /** * @param args * 1.boolean equals(Objec
Python字符串的方法,查找和替換
tro 範圍 com 取反 修改 整除 數據類型 替換字符 9.png Python數字整型 int 如:1 4 8浮點型 float 如:1.0 3.6 78.9長整型
字符編碼筆記:ASCII,Unicode 和 UTF-8
evel IE 閑置 for 之一 問題: window bit tar 作者: 阮一峰 日期: 2007年10月28日 今天中午,我突然想搞清楚 Unicode 和 UTF-8 之間的關系,就開始查資料。 這個問題比我想象的復雜,午飯後一直看到晚上9點,才算初步搞清楚
(字符串的操作 for循環 和 while遍歷循環)
isdigit find 計數 capi 劉德華 序列 apc 負數 itl 1)字符串是什麽,和字符串的常用操作方法 1,什麽是字符串. 字符:是單一的文字符號, 字符串:是有序的字符序列,由" ‘ ‘‘‘ """引起來的內容就是字
輸入兩個很大的正數(用C字符串表示),輸出他們的乘積,將設不考慮非法輸入。
十進制數 free pre class 兩個 int 字符數組 正數 轉換 1 #include<iostream> 2 #include<cassert> 3 void multiply(const char *a,const cha
采用短網址生成方法,生成一個唯一的短字符串。 然後保存到數據庫中,與源數據一一對應,新的系統,從數據庫中取到相應的數據 (轉)
hash parseint uid += 不用 裏的 我想 ger vrf /** * 短網址生成方法 * 這個方法會,生成四個短字符串,每一個字符串的長度為6 * 這個方法是從網上搜索的一個方法,但不知道出自何處了,稍微將key換了一下
Python學習筆記字符串操作之rjust()、ljust()和icenter()方法對齊文本
字符串操作 int 圖片 方法 spa -c enter ice 第一個 隨筆記錄方便自己和同路人查閱。 #------------------------------------------------我是可恥的分割線--------------------------
C#字符串連接問題(包含破折號和引號)
如何 圖片 png ram exp 分享圖片 而已 轉義 get 1.需求場景: 生成字符串如下:jsonStr.Append("\"SensorTypes\":"); 解決方法: string code = @"jsonStr.Append(""\""Sensor
[轉]字符編碼筆記:ASCII,Unicode 和 UTF-8
中文編碼 new fff notepad absolut 歐洲 簡體中文 戰爭 遊記 本文非原創,轉載 ,原文地址 :http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html 作者: 阮
request中引數(parameter)和屬性(Attribute)的區別
在JAVA WEB開發中經常遇到獲取請求引數的值和在request物件中set或者get屬性,初學者往往容易混淆,那麼二者之間關係到底如何呢?下面是個人的總結: 區別: 來源不同: 引數(parameter)是從客戶端(瀏覽器)中由使用者提供的,若是GET方法是從URL
[Swift]LeetCode712. 兩個字符串的最小ASCII刪除和 | Minimum ASCII Delete Sum for Two Strings
runtime div dfs nop 等於 就是 abc ati 我們 Given two strings s1, s2, find the lowest ASCII sum of deleted characters to make two strings equal.
獲取textarea文本框所選字符光標位置索引,以及選中的文本值;textarea高度自適應,隨著內容增加高度增加;獲取輸入框中的光標位置
creat substring ons osi 內容 poi name range init 獲取textarea文本框所選字符光標位置索引,以及選中的文本值 $.fn.selection = function () {
輸入一個字符串,按字典序打印出該字符串中字符的所有排列。例如輸入字符串abc,則打印出由字符a,b,c所能排列出來的所有字符串abc,acb,bac,bca,cab和cba。
system rem back ont span temp str cte public package myprac.LeetCode; import java.util.ArrayList; import java.util.List; public