Oracle的数据类型

Oracle与c# 数据类型对应

Oracle与JAVA 数据类型对应

这里写图片描述

常用类型

https://www.jb51.net/article/47130.htm 

字符类型

注意点:

定长和可变长度

char(n)固定长度字符串,假如长度不足n,右边空格补齐;varchar(n)可变长度字符串,假如长度不足n,右边不会补齐;varchar2(n)可变长度字符串,Oracle官方推荐使用,向后兼容性好;varchar2类型最多可容纳4000个英数字,合2000个汉字。char(n) VS varchar2(n)  char(n)查询效率相对较高,varchar2(n)存储空间相对较小;

NVARCHAR2和VARCHAR2

具体到NVARCHAR2和VARCHAR2的区别,从使用角度来看区别在于:NVARCHAR2在计算长度时和字符集相关的,例如数据库是中文字符集时以长度10为例,则1、NVARCHAR2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符。2、而VARCHAR2(10)的话,则只能存进5个汉字,英文则可以存10个。CHAR类型类似 varchar一般适用于英文和数字,Nvarchar适用中文和其他字符,其中N表示Unicode常量,可以解决多语言字符集之间的转换问题nvarchar2类型字段能容纳字符个数为2000个,对中英文都一样。

字符串比较

如果两个值都是CHAR,则PL / SQL在将它们比较之前,将较短的值填充为较长值的长度。

如果任一值为VARCHAR2,PL / SQL在比较它们之前不调整它们的长度。

 last_name1 VARCHAR2(10) := 'HTML'; last_name2 VARCHAR2(10) := 'HTML5'; 
 --值不相等last_name2>last_name1
 
  last_name1 CHAR(5)  := 'HELLO';     -- no trailing blanks 
  last_name2 CHAR(10) := 'HELLO   ';  -- trailing blanks 
 --last_name1 = last_name2
 
  last_name1 VARCHAR2(10) := 'HELLO';     -- no trailing blanks 
  last_name2 VARCHAR2(10) := 'HELLO   ';  -- trailing blanks 
   --值不相等last_name2>last_name1
   
last_name1 VARCHAR2(10) := 'HELLO'; 
last_name2 CHAR(10)     := 'HELLO';  -- PL/SQL blank-pads value    
--last_name1 < last_name2

数字类型

https://blog.csdn.net/qq_33573235/article/details/78154928 举例: 12345.678  p是8  s是3;oracle中表示int:INTEGER,number(38,0),相当于9999999999(38个9)

日期类型

date不带毫秒数,不能像mssql插入日期字符串,需要转换格式才能插入

--插入date
insert into tabname(datecol) value(sysdate) ; 
insert into tabname(datecol) value(sysdate+1) ;  
insert into tabname(datecol) value(to_date('2014-02-14','yyyy-mm-dd')) ; 
insert into tabname(datecol) value(to_date('2014-02-14 20:47:00','yyyy-mm-dd hh24:mi:ss'));
insert into tabname(datecol) value(to_date('20140214','yyyymmdd')) ;  
insert into tabname(datecol) value(to_date('20140214204700','yyyymmddhh24miss')) ; 

--插入timestamp
to_timestamp('2021-07-19 17:35:22.123456','YYYY-MM-DD HH24:MI:SS.FF6')

--查询返回 HH24是24小时格式。FF6毫秒6位,省略6则补0
to_char(brith,'YYYY-MM-DD HH24:MI:SS') 
to_char(ttimestamp,'YYYY-MM-DD HH24:MI:SS.FF6') 

其他类型

posted @ 2026-08-30 18:46  清哥的码农生活  阅读(3)  评论(0)    收藏  举报