我的编程空间,编程开发者的网络收藏夹
学习永远不晚

oracle字符与字节的知识整理

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

oracle字符与字节的知识整理

这篇文章主要讲解了“oracle字符与字节的知识整理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“oracle字符与字节的知识整理”吧!

术语:

    位(bit):是计算机 内部数据 储存的最小单位,11001100是一个八位二进制数。

    字节(byte):是计算机中 数据处理 的基本单位,习惯上用大写  B  来表示,1B(byte,字节)= 8bit(位)

    字符:是指计算机中使用的字母、数字、字和符号

说明:

     在oracle中,NVARCHAR2、NCHAR使用的是国家字符集(NLS_NCHAR_CHARACTERSET),同时国家字符集必须

为AL16UTF16、UTF8两个中的一个;其他的字符类型使用的是标准字符集(NLS_CHARACTERSET),例如该库的字符集查询如下:

oracle字符与字节的知识整理

测试

(1) 首先在数据库字符集为ZHS16GBK,国家字符集为UTF8进行测试:

建一张测试表并插入数据 :

create table t_var(va nvarchar2(32),vb varchar2(32));

insert into t_var values('你好','你好');

insert into t_var values('hello','hello');

此时我们查询:

oracle字符与字节的知识整理

测试结果:

a. 当字符类型使用标准字符集为ZHS16GBK时,一个英文字符占一个字节,一个中文字符占两个字节;

b. 当字符类型使用国家字符集为UTF8时,一个英文字符占一个字节,一个中文字符占三个字节;

(2) 然后我们在另一个库标准字符集为ZHS16GBK,国家字符集为AL16UTF16时,再进行以上相同的测试:

oracle字符与字节的知识整理

测试结果:

a. 当字符类型使用标准字符集为ZHS16GBK时,一个英文字符占一个字节,一个中文字符占两个字节;

b.当字符类型使用国家字符集为AL16UTF16时,一个英文字符占两个字节,一个中文字符占两个字节;

以上是一个简单的测试过程,说明当我们当我们选择不同的字符类型时,一个字符所占的字节是不一样的,这可能会对我们使用一些字符处理的函数时造成影响。

此外,我们在日常工作中,也许看到过以下的字符长度定义的写法:

varchar2(32)

varchar2(32 char)

varchar2(32 byte)

这三种定义方法都是正确的,只不过它表示的意思是不一样的:

varchar2(32 char) :指定了字符串最大长度是32位,不管是中文还是英文,最大存储长度是32位;

varchar2(32 byte) :指定了字符串所占的最长字节数为32,例如允许存储中文最多16个,英文32个;

varchar2(32)   :未明确指定字符串最大长度的度量是以byte为准,还是以char为准,此时起决定作用的是

                          参数NLS_LENGTH_SEMANTICS;

在测试库中查询该参数如下:

oracle字符与字节的知识整理

可以看到数据库默认的字符串长度的度量是BYTE。

感谢各位的阅读,以上就是“oracle字符与字节的知识整理”的内容了,经过本文的学习后,相信大家对oracle字符与字节的知识整理这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

oracle字符与字节的知识整理

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Java注释、关键字和标识符知识点整理

本篇内容介绍了“Java注释、关键字和标识符知识点整理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 一、注释1.Java注释有3种:(1)
2023-06-16

Python 基础知识之字符串处理

Python字符串处理 字符串输入:my_string = raw_input("please input a word:")字符串判断: (1) 判断是不是纯字母my_string.isalpha()字符串搜索匹配: (1) rere正则
2022-06-04

Java字节码的知识点有哪些

这篇文章主要为大家展示了“Java字节码的知识点有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java字节码的知识点有哪些”这篇文章吧。编译“1+1”代码首先我们需要写个简单的小程序,1+
2023-06-02

Python字符串的5个知识点

1.使用方法修改字符串的大小写在msg.title()中,msg后面的句点(.)让python对变量msg执行方法title()指定的操作。每个方法后面都跟着一对括号,这是因为方法通常需要额外的信息来完成其工作。这种信息是在括号内提供的。函
2023-06-02

Python字符串的知识有哪些

这篇文章主要讲解了“Python字符串的知识有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python字符串的知识有哪些”吧!1.部分转义字符转义字符# \\ 反斜线str1 = "q
2023-06-25

JavaScript 模板字符串的必备知识:让字符串闪耀

JavaScript 模板字符串:让字符串闪耀
JavaScript 模板字符串的必备知识:让字符串闪耀
2024-03-10

详解Java中字符流与字节流的区别

Java中字符流与字节流的区别1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列。和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序列的
2023-05-31

java字符流与字节流的区别是什么

java中字符流与字节流的区别:(推荐:java视频教程)1、字节流操作的基本单元为字节;字符流操作的基本单元为Unicode码元。2、字节流默认不使用缓冲区;字符流使用缓冲区。3、字节流通常用于处理二进制数据,实际上它可以处理任意类型的数据,但它不支持直接写
java字符流与字节流的区别是什么
2022-03-22

Java字符编码原理(动力节点Java学院整理)

Java开发中,常常会遇到乱码的问题,一旦遇到这种问题,常常比较烦恼,大家都不愿意承认是自己的代码有问题。其实编码问题并没有那么神秘,那么不可捉摸,搞清Java的编码本质过程就真相大白了。先看个图:其实,编码问题存在两个方面:JVM之内和J
2023-05-31

redis字符串类型_动力节点Java学院整理

我们都知道redis是采用C语言开发,那么在C语言中表示string都是采用char[]数组的,然后你可能会想,那还不简单,当我执行如下命令,肯定是直接塞给char[]数组的。如果你真的这么想的话,会有几个问题就要过来砍你了,先我们来找一个
2022-06-04

C++字符串流stringstream与string知识介绍与用法小结

stringstream是C++标准库中提供的一个类,可以方便地对字符串进行输入输出操作。它是基于string类实现的,可以通过向stringstream对象中写入数据,然后再从中读取数据。stringstream的用法可以分为以下几个步骤
2023-09-20

编程热搜

目录