【Teradata】TD Unicode编码格式下varchar定义测试
如下测试表,每个字段字符编码格式均为Unicode。
1.varchar(1)可以存储1个汉字,也只能存储1个ASCII字符。
--创建表nc_test,每个字段编码格式均设定为Unicode【使用SQLA工具,session字符集设定为UTF8或UTF16】
CREATE MULTISET TABLENC_TEST ,
NO FALLBACK ,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT,
DEFAULT MERGEBLOCKRATIO,
MAP = TD_MAP1
(
EWID VARCHAR(1) CHARACTER SET UNICODE CASESPECIFIC,
NAME VARCHAR(1) CHARACTER SET UNICODE CASESPECIFIC,
DWDESC VARCHAR(2) CHARACTER SET UNICODE CASESPECIFIC
) NO PRIMARY INDEX ;
--插入数据【使用SQLA工具,session字符集设定为UTF8或UTF16】
insert into NC_TEST values('A','中','中国');
insert into NC_TEST values('A','中国','中国');
insert into NC_TEST values('A','中国人','中国');
insert into NC_TEST values('AA','中国人','中国');
--查询结果【使用SQLA工具,session字符集设定为UTF8或UTF16】
select * from NC_TEST; EWID NAME DWDESC
--------------------------------------------------
A 中 中国
A 中 中国
A 中 中国
A 中 中国
特别说明:上述SQLA工具,如果session使用字符集为ASCII,则定义为VARCHAR(60) CHARACTER SET UNICODE的字段,最终只能存入30个汉字(工具设定为UTF8或UTF16时可存入60个汉字)。
建表的时候使用ASCII会导致表名和字段名中文Title乱码,实际插入数据时改为使用UTF8或UTF16数据仍然正常。
CREATE MULTISET TABLE NC_TEST ,NO FALLBACK ,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT,
DEFAULT MERGEBLOCKRATIO,
MAP = TD_MAP1
(
SQLA_CHARACTER varchar(20) CHARACTER SET UNICODE CASESPECIFIC,
EWID VARCHAR(60) CHARACTER SET UNICODE CASESPECIFIC )
NO PRIMARY INDEX ; --SQLA连接session字符集选择ASCII,显示结果为:
--如果为非保证金一户通模式,也区分两种模式,对于银行承兑汇票业
insert into nc_test values
(
'ASCII','如果为非保证金一户通模式,也区分两种模式,对于银行承兑汇票业务,在核心系统也保存了每一张银票对应过的保证金担保金额,根据核心的数据,将对应保证金担保金额作为可缓释余额敞口金额进行缓释扣减。'
); --SQLA连接session字符集选择UTF8或者UTF16,显示结果为:
--如果为非保证金一户通模式,也区分两种模式,对于银行承兑汇票业务,在核心系统也保存了每一张银票对应过的保证金担保金额,根据
insert into nc_test values
(
'UTF-16','如果为非保证金一户通模式,也区分两种模式,对于银行承兑汇票业务,在核心系统也保存了每一张银票对应过的保证金担保金额,根据核心的数据,将对应保证金担保金额作为可缓释余额敞口金额进行缓释扣减。'
);
2.show table,字段长度与定义一致
show TABLE NC_TEST CREATE MULTISET TABLE NC_TEST ,
NO FALLBACK ,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT,
DEFAULT MERGEBLOCKRATIO,
MAP = TD_MAP1
(
EWID VARCHAR(1) CHARACTER SET UNICODE CASESPECIFIC,
NAME VARCHAR(1) CHARACTER SET UNICODE CASESPECIFIC,
DWDESC VARCHAR(2) CHARACTER SET UNICODE CASESPECIFIC
) NO PRIMARY INDEX ;
3. dbc.columnsv字典表中字段长度为定义的2倍
select tablename,columnname,columnlength from dbc.columnsv
where trim(tablename) ='NC_TEST' tablename columnname columnlength
--------------------------------------------------
NC_TEST NAME 2
NC_TEST EWID 2
NC_TEST DWDESC 4
【Teradata】TD Unicode编码格式下varchar定义测试的更多相关文章
- MySQL的varchar定义长度到底是字节还是字符
相信这个问题也会困扰不少人,尤其是使用过其它数据库(如Oracle)的人,之前我也没有太在意这个问题,再加上一些书籍和网上的文章讲的不够细致,又没测试过,导致我一直理解错误.下面通过实例来解释,在开始 ...
- 微服务下的契约测试(CDC)解读
1. 前言 有近两周没有在公众号中发表文章了,看过我之前公众号的读者都知道,公众号中近期在连载<RobotFramework接口自动化系列课程>,原本计划每周更新一篇,最近由于博主在带一个 ...
- UNICODE环境下读写txt文件操作
内容转载自http://blog.sina.com.cn/s/blog_5d2bad130100t0x9.html UNICODE环境下读写txt文件操作 (2011-07-26 17:40:05) ...
- 【原创】xenomai 在X86平台下中断响应时间测试
1.中断响应时间 实时操作系统的意义就在于能够在确定的时间内处理各种突发的事件,而中断这些事件.系统抢占调度的触发点,因而衡量嵌入式实时操作系统的最主要.最具有代表性的性能指标参数无疑是中断响应时间. ...
- Unicode字符集下CString与char *转换 (解决中文乱码等)(转)
UniCode 下 CString 转 char* 的方法的文章有很多,但是大部分都是在互相转载,看了那么多资料,仍然没有解决乱码的问题,后来从一个论坛的一条回复里面找到了正确的方法,特此拿出来与大家 ...
- Unicode字符集下CString与char *相互转换
经常遇到CString转换char*时只返回第一个字符.原因是因为在Unicode字符集下CString会以Unicode的形式来保存数据,强制类型转换只会返回第一个字符.所以直接转换在基于MBCS的 ...
- 基于.net的微服务架构下的开发测试环境运维实践
眼下,做互联网应用,最火的架构是微服务,最热的研发管理就是DevOps, 没有之一.微服务.DevOps已经被大量应用,它们已经像传说中的那样,可以无所不能.特来电云平台,通过近两年多的实践,发现完全 ...
- Java环境下shiro的测试-认证与授权
Java环境下shiro的测试 1.导入依赖的核心jar包 <dependency> <groupId>org.apache.shiro</groupId> < ...
- LINUX系统下MySQL 压力测试工具super smack
摘要:1.源文件下载地址:http://vegan.net/tony/supersmack/2.安装:注意在编译时,可以先把对应的libmysqlclient.so.*拷贝到/usr/lib3.测试: ...
随机推荐
- Linux时间子系统之三:jiffies
1. jiffies背景介绍 jiffies记录了系统启动以来,经过了多少tick. 一个tick代表多长时间,在内核的CONFIG_HZ中定义.比如CONFIG_HZ=200,则一个jiffies对 ...
- Linux网络简介
Linux的网络简介 1.TCP/IP协议簇 (通俗的解释就是为了网路传输指定的一种标准),它将网络划分为四层:应用层 .传输层.互联层 .网络接口层 . 基础层是网络接口层(说白了就是把帧格式的数 ...
- DOS系统常用命令
前言: DOS命令是DOS操作系统使用的命令.DOS操作系统是一种磁盘操作系统,从Windows95.98到今天的Windows10都内置有DOS操作系统.可以通过"win+R", ...
- Spring Security Oauth2系列(一)
前言: 关于oauth2,其实是一个规范,本文重点讲解spring对他进行的实现,如果你还不清楚授权服务器,资源服务器,认证授权等基础概念,可以移步理解OAuth 2.0 - 阮一峰,这是一篇对于oa ...
- 区分getchar(),getch(),getche()三个函数:
区分getchar(),getch(),getche()三个函数: 第一行是手动输入的,第二行是printf输出的. getch()和getche()这两个函数使用时要包含conio.h头文件: ge ...
- SpringBoot操作数据库 2017.12.14
http://blog.csdn.net/forezp/article/details/61472783
- ajax技术基础详解
一.概述 1.什么是ajax 可以与服务器进行[异步]交互的技术,浏览器无需刷新 2.什么时候出现ajax? -- XMLHttp 微软 1999年微软公司发布IE5版本,内嵌了ajax技术 什么时候 ...
- kafka实战
1. kafka介绍 1.1. 主要功能 根据官网的介绍,ApacheKafka®是一个分布式流媒体平台,它主要有3种功能: 1:It lets you publish and ...
- python assert的作用
使用assert断言是学习python一个非常好的习惯,python assert 断言句语格式及用法很简单.在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件 ...
- bzoj5251 [2018多省省队联测]劈配
直接网络流模拟即可AC. 可持久化+暴力=90分, 可持久化+二分=30分, 暴力加边+二分=100分. 我也很无奈啊. Ivan便涨红了脸,额上的青筋条条绽出,争辩道,“memcpy也是可持久化…… ...