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