数据库

DB2 指定字符编码

当我们在DB2创建database时,可以用下面的命令指定字符集编码。database字符集:必须在建库时指定

// 如果要创建的数据库已经存在,可以用命令删除
db2 DROP DATABASE testdb

// 如果删除数据库时,提示数据库被别的Process占用,可以执行下面的命令
db2 list applications 查看当前数据库连接的进程
db2 force applications all 强制中断这些连接连接
db2 DROP DATABASE testdb 重新Drop数据库

//  --区域为日本(JP)的IBM-943数据库
db2 create database testdb using codeset IBM-943 TERRITORY JP

创建成功后,然后我们可以连接到数据库。

db2 connect to testdb

连接数据库成功以后,可以用下面的命令查看数据库字符集

db2 get db cfg

我们可以用下面的命令查看在当前字符集下,一个汉字占用数据库几个长度。可以看到在IBM-943下,一个全角汉字占2个长度,半角英数字占1个长度。

SELECT Length('王') FROM sysibm.sysdummy1

关于字符集和区域的说明,可以参考DB2官方的文档。

https://www.ibm.com/docs/en/db2/11.5?topic=support-supported-territory-codes-code-pages