DM问题总结(1)
一、DM大小寫敏感問題
如下兩套DM數(shù)據(jù)庫,分別為大小寫敏感與非敏感。
當(dāng)CASE_SENSITIVE為1大小寫敏感時,會將A,a區(qū)分開來,僅查詢a,當(dāng)CASE_SENSITIVE為0大小寫不敏感時,A,a會被DM認為是相同的字符。
同時,在DISQL中會默認將小寫轉(zhuǎn)換為大寫,在創(chuàng)建表test_01時會自動將表名轉(zhuǎn)換為TEST_01。
當(dāng)CASE_SENSITIVE為1大小寫敏感時,查詢"test_01",雙引號將test_01識別為字符,為小寫,此時查無此表。
當(dāng)CASE_SENSITIVE為0大小寫不敏感時,查詢"test_01",雙引號將test_01識別為字符,為小寫,可以查到該表。
(1)
select sf_get_case_sensitive_flag();
?create table test_01(col_1 varchar(20));
insert into test_01 values
('A'),('A'),('a'),('a'),('a');
??
(2)
select sf_get_case_sensitive_flag();
create table test_01(col_1 varchar(20));
insert into test_01 values
('A'),('A'),('a'),('a'),('a');
二、DM空格填充模式BLANK_PAD_MODE
blank_pad_mode,設(shè)置字符串比較時,結(jié)尾空格填充模式是否兼容ORACLE,取值0或1。0不兼容,1兼容。默認為0
當(dāng)blank_pad_mode=0時,對于'a','a ','a? '不嚴格區(qū)分
當(dāng)blank_pad_mode=1時,對于'a','a ','a? '嚴格區(qū)分
(1)
?
(2)
三、字符集問題
在創(chuàng)建達夢數(shù)據(jù)庫實例時可選的字符集有三個:GB18030(0)、UTF-8(1)、EUC-KR(2)。括號里的數(shù)字代表對應(yīng)的編號。 默認使用的字符集是GB18030,其中EUC-KR表示的是韓文字符集。四種字符集的包括關(guān)系:GB2312 < GBK < GB18030 < UTF8
GB18030向下兼容GBK和GB2312編碼,每個英文占1個字節(jié)(正數(shù)),每個中文占2個字節(jié)(第一個負數(shù)、第二個可正可負)
UTF8國際碼表,英文占1個字節(jié),中文占3個字節(jié)
(1)當(dāng)字符集為GB18030時,一個中文字節(jié)占2個字符,定義VARCHAR(2),故可以插入
(2)當(dāng)字符集為UTF8時,一個中文字節(jié)占3個字符,定義VARCHAR(2),故無法插入
達夢社區(qū)地址:https://eco.dameng.com
總結(jié)
- 上一篇: 软件工程Java毕设 SSM药品管理系统
- 下一篇: BCH码(BCH code)详细分析