oracle utf8 varchar,Oracle中字符集的类型决定varchar2的字符长度

1.前几天往数据库表里面插入数据的报了一个这样的错误如下:

SQL> insert into student values('中华人民共和',60);

insert into student values('中华人民共和',60)

*

第 1 行出现错误:

ORA-12899: 列 "SYSTEM"."STUDENT"."NAME" 的值太大 (实际值: 12, 最大值: 6)

本来建立表的时候字符长度就设置为6了,可是插入六个中文的时候就是报错,表结构如下:

SQL> desc student;

名称                                      是否为空? 类型

----------------------------------------- -------- ----------------------------

NAME                                               VARCHAR2(6)

AGE                                                NUMBER(3)

后来经过查了大量的资料之后发现,varchar2的长度是有字符集的类型决定的。

内容如下:

varchar2最大是4000字节,那么就看你的Oracle字符集,如果字符集是16位编码的,ZHS16GBK,那

么每个字符16位,2字节,可以容纳一个中文字符,所以可以容纳2000字符。如果是AL32UTF8编码的字符集,三个字节为一个中文字符,那么只能存储 1333个字符。

2.查看字符集的类型的语句:

SQL> set wrap off;

SQL> select parameter,value from nls_database_parameters where parameter like 'NLS_CHARACTERSET';

PARAMETER                      VALUE

------------------------------ -------------------------------------------------

NLS_CHARACTERSET               ZHS16GBK

所以上面插入的字符就只能是3个中文字符。

如果将上面的字符编码改为32位编码的,则只能存入1.5个中文字符。

3.10 查看新建数据库的字符集设置

SQL> set wrap off

SQL> set lines 1000

SQL> select * from nls_database_parameters;

4.可以用update props$ set value$='ZHS16GBK' where name='NLS_CHARACTERSET';

来修改字符集

5.如果字符集为AL32UTF8,可以看出下面的例子为,每个中文占用三个字节。

SQL> select lengthb('中') from dual;

LENGTHB('中')

-------------

            30b1331709591d260c1c78e86d0c51c18.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/343251.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么BAT这些大企业都喜欢用LoRa技术?

相信对于很多朋友来说LORA通讯协议还是比较陌生的,因为LORA这种通讯技术是在2016年开始才正式传入中国的。现在阿里、Google、腾讯等互联网巨头都已经加入了LORA联盟,最有意思的是亚马逊,它在今年西雅图举行的硬件大会上,发布了一…

蓝牙的原理,蓝牙耳机怎么连接手机

蓝牙技术是一种无线数据和语音通信的通信协议,它是一种基于低成本的近距离的无线连接,为固定和移动设备监理通信环境的一种近距离无线连接技术。 蓝牙的作用 蓝牙使今天的一些便携式移动设备和计算机是被能够不需要线路就能相互链接,并且可以…

物联网中的无线通信模块到底是什么

物联网市场的爆发式增长速度,离不开无线通信模块产品的强有力的拉动,无线通信模块也是物联网的核心,但是很多人只知道物联网却对于组成物联网的无线通信模块知之甚少,所以下面就让我们一起来了解一下,物联网中的无线通…

基于NB-IOT的智能烟感应用方案

据国家有关部门发布的2018年火灾数据统计,全国共发生火灾23.7万起,造成1407人死亡,伤798人。直接财产损失36.75亿元,其中居民住宅火灾10.7万起,超过全年火灾总数的45%,其原因与我国当前火灾预防基础设施建设…

带网管工业交换机跟不带网管交换机的差别

交换机是局域网的一种核心设备,可以自主工作的多个计算机系统连接在一起,实现局部的软硬件共享的网络。通常的交换机是利用第二层的MAC地址的进行工作的,所以一般的家庭交换机基本上都是二层交换机。交换机有带网管的也有不带网管的&#xff…

通讯模块板载天线设计方法

注:本文来自 成都亿佰特 蛇形板载天线是无线通讯模块应用最广泛的一种天线类型,应用在蓝牙、WiFi、ZigBee等对性能要求不高、但对空间要求比较高的领域。今天就让成都亿佰特小编给大家普及一下蛇形板载天线的相关知识吧~ 作为天线工程师,每…

物联网在水位监测中的应用

注:本文来自 成都亿佰特 基于E820-DTU(2I2-433L)和E90-DTU(433C30)的水位监测应用 水位资料与人类社会生活和生产关系密切。水利工程的规划、设计、施工和管理需要水位资料。桥梁、港口、航道、给排水等工程建设也需水位资料。防汛抗旱中,水位资料更为…

接入层工业交换机、汇聚层工业交换机与核心层工业交换机区别

了解工业交换机的人都知道,工业交换机被划分为接入层工业交换机、汇聚层工业交换机和核心层工业交换机,今天,飞畅科技的小编就来为大家详细说下这三种工业交换机,感兴趣的朋友就一起来看看吧! 首先,核心层工…

E820-DTU与昆仑通态组态软件联机

随着工业自动化水平的迅速提高,计算机在工业领域的广泛应用,人们对工业自动化的要求越来越高,种类繁多的控制设备和过程监控装置在工业领域的应用,使得传统的工业控制软件已无法满足用户的各种需求。 在开发传统的工业控制软件时&…

BLE蓝牙和传统蓝牙的区别

在移动设备上使用的蓝牙协议大多都是4.0,而蓝牙的4.0又有两个分支,经典4.0蓝牙和BLE4.0蓝牙,经典4.0就是传统的3.0蓝牙升级而成,向下兼容。而BLE4.0蓝牙是一个新的分支,不向下兼容。相较于传统的蓝牙,BLE蓝…

什么是核心交换机?如何选择核心交换机?

在系统组网中,经常会提到接入交换机、汇聚交换机、核心交换机。通常,我们将网络中直接面向用户连接或访问网络的部分称为接入层,将位于接入层和核心层之间的部分称为分布层或汇聚层,而将网络主干部分称为核心层。那么什么是核心交…

5W-Lora电台的远距离传输优势

本文来自 成都亿佰特 无线数传电台作为一种通讯媒介,与光纤、微波、明线一样,有一定的适用范围:它提供某些特殊条件下专网中监控信号的实时、可靠的数据传输,具有成本低、安装维护方便、绕射能力强、组网结构灵活、覆盖范围远的特…

什么是网管交换机?

交换机的作用我们就不多说了,熟悉通信领域的人都知道交换机是目前我们进行数据通信或者联网使用最多的一种设备。因为使用的多,所以交换机的种类也非常多,其中最常见的就是网管交换机和非网管(傻瓜)交换机。非网管交换…

无线模块在“水盾”防溺水安全预警系统的应用

一、"水盾"防溺水安全预警系统简介 "水盾"防溺水安全预警系统(下文简称,"水盾"系统),主要由5大部分组成:客户端、转发中继系统主机、系统软件、报警终端。 "水盾"系统的客户端…

java wcf_尝试将WCF映射到Java术语

java wcf通过写这篇文章,我冒着被.NET和Java社区拒绝的巨大风险。 这是为了说明Windows Communication Foundation的WCF用Java来解释。 从WCF到Java的映射并不简单。 我缺乏对WFC使用者应该了解的与服务通信类型的了解:请求/响应或异步消息传递。 我很难…

通过串口来控制网管型交换机的操作步骤详解

之前我们对网管型交换机的三种管理方式简单的给大家介绍了一下,一、通过串口管理;二、通过web管理;三、通过网管软件管理。今天,飞畅科技的小编来为大家详细介绍下通过串口终端配置是如何对网管交换机进行控制管理的?正…

蓝牙模块基础知识讲解

随着蓝牙技术的不断更新发展,蓝牙的传输速率也在不断的提高,并且功耗也是越来越低,这也使得蓝牙的应用范围变得更加广泛。但是若是想自己设计一套完善的蓝牙系统,就必须充分的掌握蓝牙的相关技术知识,如:射…

无线模块超远距离传输中实现中继的方法

导言:近年来,随着社会的发展和科学技术的进步,人们开始进入数字网络化的智能社会,各种各样的智能设备改变着我们的生活,而无线传输在这些智能化发展中占有不可或缺的地位。在无线网络中,实现终端间的数据传…

lambdas for_Java 8发布了! — Lambdas教程

lambdas for为了庆祝几分钟前发布的Java 8的发布,我正在发布Java 8 Lambdas教程的草稿版本。 这是学习Streams API的一种很好的可视化方式,从第一天开始,它将帮助您开始在自己的应用程序中使用lambda。本文计划在下一期Java Magazine发行中发…

为什么工业交换机需要CE认证

工业交换机的使用越来越广,不管是我们国内的市场还是国外的市场,都大量的存在着,也成为国际之间的贸易,在出口到国外的工业交换机,在进入到国外时交换机是必须要有CE认证标记的,它是进入到市场上最低标准。…