1.Oracle数据库:char和varchar2和nvarchar2区别

常规情况下,对于字符串类型的数据列,在oracle设计表时设置为byte来进行储存。

1>CHAR和VARCHAR2区别

CHAR是定长的,而VARCHAR2非定长的。

比如,存储字符串“abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。

2>NVARCHAR2和VARCHAR2的区别

从使用角度来看区别在于:NVARCHAR2在计算长度时和字符集相关的,例如数据库是中文字符集编码使用SIMPLIFIED CHINESE_CHINA.AL32UTF8以长度15为例,

1、NVARCHAR2(15)是可以存进去15个汉字的,如果用来存英文也只能存15个字符。

2、而VARCHAR2(15)的话,则只能存进5个汉字,英文则可以存15个。

2.在Oracle Server查看字符集

使用语句:select userenv('language') from dual;

如果显示如下,一个汉字占用两个字节

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

如果显示如下,一个汉字占用三个字节

SIMPLIFIED CHINESE_CHINA.AL32UTF8

可以用以下语句查询一个汉字占用的字节长度

select lengthb('你') from dual;

结论: 当某个表中文字段使用的是varchar2(1500),且单位(byte、char)使用的是byte,且中文字符集编码使用SIMPLIFIED CHINESE_CHINA.AL32UTF8。则每个汉字将占用3个byte,那么此列最多保存中文汉字的个数为:1500 / 3 = 500个汉字。

java oracle 中文长度,Java String length 和 Oracle varchar2 长度对应关系相关推荐

  1. java oracle中文乱码_java字符编码和oracle乱码

    编码问题我仍旧没搞懂,最根本的从哪里来就没搞懂.当页面发送请求,编码到后台是什么编码呢?好吧,我默认的都是utf-8.后台接收参数后,可以在控制台打印出来,我也不清楚是什么编码.然后,就是数据库问题. ...

  2. java txt中文乱码,JAVA读取TXT文件 可解决中文乱码问题

    import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.I ...

  3. java drawstring 中文_centos java jdk graphics.drawString中文乱码

    graphics.setColor(Color.BLACK); Font font = new Font("宋体", Font.BOLD, 40); graphics.setFon ...

  4. java model 中文乱码,java传值乱码解决方法

    在做JavaWeb时,总是时不时的会遇到中文传值乱码问题,在你把所有"ISO-8859-1"改成"UTF-8"发现还是没什么用.于是我就找到了一个百试百灵的方法 ...

  5. java 实现中文排序,Java自定义比较器实现中文排序

    compareTo 方法 compareTo()是两个字符串对象比较大小,返回一个整数值,如果调用字符串对象大,返回正整数,反之,返回负整数.相等则返回0.compareTo()是两个字符串对象按AS ...

  6. selenium java api 中文_Selenium Java WebDriverAPI 接口操作

    一.API代码实例 1.1 访问网址 @Test public void visitURL() { String baseUrl = "http://www.sogou.com"; ...

  7. python sqlalchemy oracle 中文_请教关于 flask-sqlalchemy 查询 oracle 库时, query.all()查询中编码的问题...

    我初学 python,打算照着网上的例程,用 flask 搭一个笔记网站练手,因为想着尽量贴近公司现有的基础资源,所以数据库没有照例程的用 mongoDB,而是直接连公司的 oracle 数据库,悲催 ...

  8. 写一段jdbc连oracle的程序java类_并实现数据查询_一段Jdbc连Oracle的程序,并实现数据查询....

    一段Jdbc连Oracle的程序,并实现数据查询. 程序如下: package hello.ant; import java.sql.*; public class jdbc { String dbU ...

  9. java 获取数据源_J2EE java 获取数据源

    package com.tobacco.ermsuite.interfaces.util; import java.sql.Connection; import java.sql.SQLExcepti ...

最新文章

  1. iOS progressive Web App (PWA) 技术
  2. Nginx 源码编译安装
  3. R 语言关于 SSL 证书异常处理笔记
  4. stale element reference: element is not attached to the page document 异常
  5. STM32之独立看门狗与窗口看门狗总结
  6. sharepoint_study_5
  7. 基于JAVA+SpringMVC+MYSQL的酒店旅游管理系统
  8. 恢复Cisco路由器密码
  9. 实验:进程调度算法(C语言)
  10. 通往Java架构师之路
  11. Hololens官方教程精简版 - 08. Sharing holograms(共享全息影像)
  12. python多个函数_请教:一个类中可以定义多个同名函数?
  13. LAYUI 表格 嵌套JSON不能显示的解决方法
  14. 城乡规划设和计算机应用,城乡规划行业未来展望
  15. 在虚拟机上使用Ghost备份/恢复操作系统
  16. python爬虫实战:猫眼电影我不是药神评论
  17. 16.15-S7-1200-开关量PWM的方式控制-固态继电器调节水温
  18. PostgreSQL+PostGIS的使用
  19. 物理学陷入困境:接下来该怎么办?
  20. java 函数式接口与lambda表达式的关系

热门文章

  1. Q-Net---基于查询的少镜头医学图像分割
  2. 中科大计算机学院深造率,中科大研究生深造率跌破40% 更多选择就业
  3. sigmatube软件破解思路与方向
  4. 1.基于turtle库的小动物绘制及分辨
  5. ARIMA模型(股价趋势预测)
  6. win7 休眠锁定计算机,win7怎么设置待机时间
  7. 宝付撰写java基础代码
  8. 思维的惯性之游戏中buf管理
  9. Nginx系列之代理之后无法加载静态资源处理方法
  10. JVM 学习笔记(三)类加载与字节码技术内存模型