如下测试表,每个字段字符编码格式均为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定义测试的更多相关文章

  1. MySQL的varchar定义长度到底是字节还是字符

    相信这个问题也会困扰不少人,尤其是使用过其它数据库(如Oracle)的人,之前我也没有太在意这个问题,再加上一些书籍和网上的文章讲的不够细致,又没测试过,导致我一直理解错误.下面通过实例来解释,在开始 ...

  2. 微服务下的契约测试(CDC)解读

    1. 前言 有近两周没有在公众号中发表文章了,看过我之前公众号的读者都知道,公众号中近期在连载<RobotFramework接口自动化系列课程>,原本计划每周更新一篇,最近由于博主在带一个 ...

  3. UNICODE环境下读写txt文件操作

    内容转载自http://blog.sina.com.cn/s/blog_5d2bad130100t0x9.html UNICODE环境下读写txt文件操作 (2011-07-26 17:40:05) ...

  4. 【原创】xenomai 在X86平台下中断响应时间测试

    1.中断响应时间 实时操作系统的意义就在于能够在确定的时间内处理各种突发的事件,而中断这些事件.系统抢占调度的触发点,因而衡量嵌入式实时操作系统的最主要.最具有代表性的性能指标参数无疑是中断响应时间. ...

  5. Unicode字符集下CString与char *转换 (解决中文乱码等)(转)

    UniCode 下 CString 转 char* 的方法的文章有很多,但是大部分都是在互相转载,看了那么多资料,仍然没有解决乱码的问题,后来从一个论坛的一条回复里面找到了正确的方法,特此拿出来与大家 ...

  6. Unicode字符集下CString与char *相互转换

    经常遇到CString转换char*时只返回第一个字符.原因是因为在Unicode字符集下CString会以Unicode的形式来保存数据,强制类型转换只会返回第一个字符.所以直接转换在基于MBCS的 ...

  7. 基于.net的微服务架构下的开发测试环境运维实践

    眼下,做互联网应用,最火的架构是微服务,最热的研发管理就是DevOps, 没有之一.微服务.DevOps已经被大量应用,它们已经像传说中的那样,可以无所不能.特来电云平台,通过近两年多的实践,发现完全 ...

  8. Java环境下shiro的测试-认证与授权

    Java环境下shiro的测试 1.导入依赖的核心jar包 <dependency> <groupId>org.apache.shiro</groupId> < ...

  9. LINUX系统下MySQL 压力测试工具super smack

    摘要:1.源文件下载地址:http://vegan.net/tony/supersmack/2.安装:注意在编译时,可以先把对应的libmysqlclient.so.*拷贝到/usr/lib3.测试: ...

随机推荐

  1. SSM-MyBatis-10:Mybatis中SqlSession的getMapper()和简单的工具类MyBatisUtils

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- getMapper的作用,获取到接口,直接通过点的方式调用方法,以免直接手打的方式写错方法名,(强类型的方式) ...

  2. 许式伟:我与Go语言的这十年[转]

    2017-12-18 许式伟 Go中国 2007 年 9 月 20 日,关于设计一门全新语言的讨论正式开始,这门全新的语言,就是后来的 Go.时至今日,Go 语言已经发布到 1.9 版本,走过了整整十 ...

  3. 第六章——决策树(Decision Trees)

    决策树是强大的,多功能的机器学习算法. 6.1 训练和可视化一个决策树 在iris数据集训练DecisionTreeClassifier: from sklearn.datasets import l ...

  4. C++关于Union使用的部分总结

    说明:未加说明,struct均指C++语言中的struct(可以有成员函数,可以定义访问属性) 1 什么是Union? (1)与class,struct相似用于定义数据结构:union 可以说是一种特 ...

  5. Can I use MyBatis to generate Dynamic SQL without executing it?

    Although MyBatis was designed to execute the query after it builds it, you can make use of it's conf ...

  6. elementui左侧菜单栏刷新后还是原来的状态

    <template> <div id="leftMenuList"> <el-row> <el-col :span="24&qu ...

  7. EF生成模型出现异常:表“TableDetails“中列“IsPrimaryKey”的值为DBNull解决方法

    Entity Framework连接MySQL时:由于出现以下异常,无法生成模型:"表"TableDetails"中列"IsPrimaryKey"的值 ...

  8. 关于bootstrap两个模态框的问题

    今天不知道为什么,其中一个模态框无法正确触发,但是将两个模态框在body里的顺序调一下就都可以正确触发.

  9. 巩固java(二)----JVM堆内存结构及垃圾回收机制

    前言:        我们在运行程序时,有时会碰到内存溢出(OutOfMemoryError)的问题,为了解决这种问题,我们有必要了解JVM的内存结构和垃圾回收机制. 正文: 1.JVM堆内存结构   ...

  10. MassTransit 实现发布/订阅

    MassTransit 介绍  先看下masstransit 官网介绍:MassTransit 是一个自由.开源.轻量级的消息总线, 用于使用. NET 框架创建分布式应用程序.MassTransit ...