达梦数据库varchar和nvarchar的验证
达梦数据库varchar和nvarchar的验证
测试SQL
create tablespace zhaobsh datafile '/opt/dmdbms/data/DAMENG/zhaobsh.dbf' size 128
# 需要注意 达梦数据库的大小限制为:
# 第1 行附近出现错误[-2422]:数据文件[/opt/dmdbms/data/DAMENG/zhaobsh.dbf]大小无效,取值范围为(128~67108863)M.
重建用户
create user zhaobsh identified by Testxxxx default tablespace zhaobsh ;
grant dba to zhaobsh ;
重建表等信息:
create table zhaobsh (zhaobshvarchar varchar(30),zhaobshnvarchar nvarchar(30)) ;
insert into zhaobsh values ('123abc','123abc') ;
insert into zhaobsh values ('abcd赵1234','abcd赵1234') ;
insert into zhaobsh values ('abcde한국12345','abcde한국12345') ;
insert into zhaobsh values ('abcde한국12345',N'abcde한국12345') ;
分析数据文件
SELECT CHECKPOINT(100);
据说可以将脏数据落盘, 先执行一下, 不然可能数据库里面没有插入的数据
需要注意 现代数据库都是写入log就是落盘成功
数据文件的更改要等待checkpoint 或者是开启关闭数据库时进行.
winhex的分析
Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F
00080060 86 00 32 33 61 62 63 86 31 32 33 ?23abc?23
00080070 61 62 63 01 00 00 00 00 00 FF FF FF FF 7F FF FF abc
00080080 F9 2E 00 00 00 00 00 2C 00 B2 00 62 63 64 D5 D4 ? , ?bcd赵
00080090 31 32 33 34 8A 61 62 63 64 D5 D4 31 32 33 34 02 1234奱bcd赵1234
000800A0 00 00 00 00 00 FF FF FF FF 7F FF FF F9 2E 00 00 ?
000800B0 00 00 00 3C 00 EE 00 62 63 64 65 83 36 84 33 82 < ?bcde???
000800C0 37 F4 30 31 32 33 34 35 92 61 62 63 64 65 83 36 7?12345抋bcde?
000800D0 84 33 82 37 F4 30 31 32 33 34 35 03 00 00 00 00 ???12345
000800E0 00 FF FF FF FF 7F FF FF F9 2E 00 00 00 00 00 3C ? <
000800F0 00 FF FF 62 63 64 65 83 36 84 33 82 37 F4 30 31 bcde????1
00080100 32 33 34 35 92 61 62 63 64 65 83 36 84 33 82 37 2345抋bcde???
00080110 F4 30 31 32 33 34 35 ?12345
简要分析-ASCII
1. ASCII的编码
感觉达梦数据库比较奇怪, 他的行首的第一个信息应该是有一个其他的作用, 所以第一个我总是找不到在哪里.
86 00 32 33 61 62 63 86 31 32 33 61 62 63
感觉86 就像是一个风恶魔, 表示行的分割
但是第一列的00 我理解不太了.
但是可以看到在ASCII 里面 varchar和 nvarchar 其实表示是一样的 都是一个字节一个汉字.
简要分析-中文
B2 00 62 63 64 D5 D4 31 32 33 34
8A 61 62 63 64 D5 D4 31 32 33 34
在中文的表现看来. varchar和nvarchar 其实是一直的
都是展示的 赵的 GBK的编码
赵 简体中文(GB2312、GBK) gb2312 D5D4
需要注意 GB18030 和 GBK应该是兼容的:
赵 简体中文(GB18030) GB18030 D5D4
说明 varchar 和 nvarchar 都是 ASCII 占用一个字节, 中文占用两个字节.
简要分析-韩文
EE 00 62 63 64 65 83 36 84 33 82 37 F4 30 31 32 33 34 35
92 61 62 63 64 65 83 36 84 33 82 37 F4 30 31 32 33 34 35
注意他存储的是:
한국 简体中文(GB18030) GB18030 83 36 84 33 82 37 F4 30
因为我选择的是 GB18030的数据库字符集 所以韩文明显存储的就是 GB18030的信息
需要说明的是
韩文是 四字节的 编码.
所以 两个韩文其实使用了 8个字节进行存储
同事也说明.
不管是varchar 和 nvarchar 在进行 韩文的存储时也是一样的.
插入是增加 N 的效果
FF FF 62 63 64 65 83 36 84 33 82 37 F4 30 31 32 33 34 35
92 61 62 63 64 65 83 36 84 33 82 37 F4 30 31 32 33 34 35
跟上面一个一样,其实达梦数据库不管带不带 N 都是一样的进行存储, 基本上是没有问题的.
总结
感觉虽然达梦和Oracle的语法很像.
但是感觉他对varchar和nvarchar的处理与 MySQL是很相似的.
多种使用方法下其实是一致的体验.
GB18030其实也是一个很好的字符集, 至少东亚圈的部分显示都可以做到.
国际化更加深远的部分就不得而知了
过段时间学习下一年GB18030的编码详细情况.
达梦数据库varchar和nvarchar的验证的更多相关文章
- 达梦数据库产品支持技术学习分享_Week1
本周主要从以下几个方面进行本人对达梦数据库学习的分享,学习进度和学习情况因人而异,仅供参考. 一.达梦数据库的体系架构 二.达梦数据库的安装 三.达梦数据库的数据类型 四.达梦数据库的DDL.DML. ...
- [转帖]达梦数据库(DM6)和ORACLE 10g的异同点
达梦数据库(DM6)和ORACLE 10g的异同点 https://bbs.aliyun.com/detail/351337.html 花花浪子 级别: 小白 发帖 0 云币 -41 加关注 ...
- 达梦数据库(DM8)大规模并行集群MPP 2节点安装部署
达梦数据库大规模并行集群MPP 2节点安装部署 1.环境准备 os 数据库版本 ip mpp角色 centos7.x86 DM8 192.168.30.100 mpp1 centos7.x86 ...
- Linux部署达梦数据库(完全版)
环境准备 数据库下载去http://www.dameng.com 1.下载好达梦数据库iso上传(通过xftp)到你自己存在的目录(/opt) 2.将你上传的iso文件挂载到其它的目录下面(mount ...
- 基于Enterprise Library的Winform开发框架实现支持国产达梦数据库的扩展操作
由于一个客户朋友的需求,需要我的Winform开发框架支持国产达梦数据库的操作,这个数据库很早就听过,但是真正一般项目用的很少,一般在一些特殊的项目可能需要用到.由于我的Winform开发框架,是基于 ...
- 国产达梦数据库的结合Enterprise Library的应用开发
在上篇<基于Enterprise Library的Winform开发框架实现支持国产达梦数据库的扩展操作>介绍了如何在Enterprise Library的数据访问层上支持这种神秘的国产数 ...
- DB 查询分析器 6.03 如何灵活、快捷地操作国产达梦数据库
DB 查询分析器 6.03 如何灵活.快捷地操作国产达梦数据库 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要 本文详细地介绍了"万能数据库查询分析器&qu ...
- 达梦数据库DM7小结
除了很多主流的数据库,我们很熟悉之外,越来越多的国产数据库也涌现出来. 这次就小结一些有关武汉的达梦数据库7这个开发版数据库的有别或者需要注意的地方进行一个简单备注吧. 1.第一件大事就是下载.数据库 ...
- Shell脚本使用汇总整理——达梦数据库备份脚本
Shell脚本使用汇总整理——达梦数据库备份脚本 Shell脚本使用的基本知识点汇总详情见连接: https://www.cnblogs.com/lsy-blogs/p/9223477.html 脚本 ...
- .NETCore 访问国产达梦数据库
前言 武汉达梦数据库有限公司成立于2000年,为中国电子信息产业集团(CEC)旗下基础软件企业,专业从事数据库管理系统的研发.销售与服务,同时可为用户提供大数据平台架构咨询.数据技术方案规划.产品部署 ...
随机推荐
- EasyDO这么好用!别家的运维小哥都馋哭了
运维这份工作似乎总是被人误会- 修服务器的 接网线的 盯监控的 维护系统的 说啥的都有,平常人都不太知道运维是干啥的 跟小编来探一探云掣MSP服务线运维小哥的实际运维工作? 运维小哥一部分日常工作就是 ...
- python脚本抢大麦网演唱会门票 ---保姆级教程 python脚本抢大麦网演唱会门票
python脚本抢大麦网演唱会门票 流程: 1.下载并安装anaconda:https://repo.continuum.io/archive/ 下载对应linux/mac/windows版本 2.下 ...
- CSS3学习笔记-过渡
学习CSS3过渡(Transitions)是为了在元素状态之间创建平滑的动画效果.下面是一些关于CSS3过渡的学习笔记: 过渡基础语法: 使用transition属性来定义过渡效果. 通过指定过渡的属 ...
- 主控FC1179 U盘量产修复
当我们的U盘出现如下情况的话,可以做为参考修复 第一步:可以用Chip Genius工具,查看U盘主控(可得知主控厂商:一芯 ,主控型号:FC1179). 第二步:下载主控相对应的量产工具(笔者已经上 ...
- flutter弹窗
AlertDialog: 优点:Material风格的弹窗,具有灵活的布局和样式自定义能力.易于使用,并提供了标题.内容和操作按钮的选项. 缺点:对于复杂的自定义布局和样式可能不够灵活. Bottom ...
- 第八部分_Shell脚本之综合案例实训
综合案例 1. 实战案例1 ㈠ 具体需求 写一个脚本,将跳板机上yunwei用户的公钥推送到局域网内可以ping通的所有机器上 说明:主机和密码文件已经提供 10.1.1.1:123456 10.1. ...
- 5分钟体验代码仓托管、CloudIDE云端代码编辑、调试、运行
摘要:您将学会如何通过代码托管(CodeHub)创建代码仓,解决软件开发者在跨地域协同.多分支并发.代码版本管理.安全性等方面的问题. 本文分享自华为云社区<5分钟体验代码仓托管.CloudID ...
- Java开发如何通过IoT边缘ModuleSDK进行进程应用的开发?
摘要:为解决用户自定义处理设备数据以及自定义协议设备快速接入IOT平台的诉求,华为IoT边缘提供ModuleSDK,用户可通过集成SDK让设备以及设备数据快速上云. 本文分享自华为云社区<[华为 ...
- MindSpore实践:对篮球运动员目标的检测
摘要:本文讲述的是MindSpore对篮球运动员目标的检测应用,通过AI技术辅助对篮球赛场进行分析. 本文分享自华为云社区<MindSpore大V博文系列:AI对篮球运动员目标的检测>,原 ...
- 2023 年如何将您的应用提交到 App Store
您夜以继日地工作来创建您的梦想应用程序.最后,是时候向全世界宣布您的应用程序了.但不知道如何将您的应用提交到 App Store? 为您的商店获取现成的移动应用程序 将应用程序提交到 App Stor ...