1 ORACLE 笔记
1.1 序言
1.2 数据类型
1.2.1 Oracle_built_in_datatype(内置数据类型)
1.2.1.1 字符类型
字符类型主要包括以下四种类型,用法图如下
默认情况下 单位是 byte
1.2.1.1.1 Char
char(size byte|char) , char 类型的主要特点是定长,如果不足则自动以空格补充。
由于oracle的基本管理单位块的大小是 2k/4K/8K , 为了方便管理 char的最大必须在一个块内,也就是说char的最大长度是 2K ,2000bytes。
中文一般采用的是双字节字符集。
1.2.1.1.2 Varchar2
Varchar2(size byte|char)
Varchar2采用的变长的的存储机制,即使没有填满也不进行补充。
Varchar2 的最大长度是 4K,4000bytes。
1.2.1.1.3 Nchar
Nchar(size byte|char)
国家字符集:unicode 。要能使用unicode必须使用N开头的数据类型,例如 Nchar ,Nclob 等。
位、字节、字符:一个字节等于8位,一个字符可以是一个字节或者是多个字节,更像是逻辑单位。
1.2.1.1.4 Nvarchar2
1.2.1.1.5 Varchar
1.2.1.2 数值
1.2.1.2.1 固点数值类型
1.2.1.2.2 浮点数值类型
1.2.1.3 二进制数据类型
1.2.1.3.1 Long raw
1.2.1.3.2 raw
1.2.1.4 日期
1.2.1.4.1 Date 类型
1.2.1.4.2 Timestamp类型
1.2.1.5 大对象类型
1.2.1.5.1 LOB
1.2.1.5.2 Bfile
1.2.1.6 行地址类型
1.2.1.6.1 Rowid
1.2.1.6.2 Urowid
1.2.2 ANSI_support_datatype(美国国际标准化组织支持的通用数据类型)
1.2.3 User_defined_datatype(用户自定义数据类型)
1.2.4 Oralce_supplied type
1.3 数据类型转换
1.3.1 隐士转换
1.3.2 显示转换
1.4 Oracle对象
1.5 字符编码
例如: 对于ascii编码 A -> 0100 0001 ,A对应的数字是65,所以存储在计算机中的形式就是0100 0001
1.5.1 Unicode编码
Unicode 中, 一个字符实际上对应一种叫做 code point 的东西。
Unicode 中 code point 的数字的大小是没有限制的,而且也早就超过了 65535. 所以不是每个字符都能存储在两个字节中。
那么,一个字符串 "Hello", 在 Unicode 中会表示成 5 个 code points :
U+0048 U+0065 U+006C U+006C U+006F
1.5.2 常见字符集
ZHS16GBK 在中国主要使用的字符集
US7ASCII 美国字符集
WE8ISO8859P1 西欧字符集
1.5.3 查询字符集参数
nls_database_parameters
v#nls_parameters
props$
其中列 nls_characterset 表示字符集
Nls_nchar_character 表示国家字符集。
NLS ‘National Language Support (NLS)’
Oracle的字符集命名遵循以下命名规则:
<Language><bit size><encoding>
即: <语言><比特位数><编码>
比如: ZHS16GBK表示采用GBK编码格式、16位(两个字节)简体中文字符集
1.5.4 修改数据库字符集
1. 修改数据库字符集必须有个条件满足,即新的字符集是现在字符集的超集才可以修改,否则无法修改。
2. 修改字符集有两种方法
第一种是通过命令修改 alert databasecharactor set utf8
第二种是将老数据库中的数据导出,建立新的数据库,然后再导入。
1.5.5 客户端字符集
1.5.5.1 客户端字符集查看
客户端字符集是通过设置 nls_lang 这个参数
例如 NLS_LANG = AMERICAN_AMERICA.US7ASCII
$export NLS_LANG
1、NLS_DATABASE_PARAMETERS--显示数据库当前NLS参数取值,包括数据库字符集取值
2、 NLS_SESSION_PARAMETERS--显示由NLS_LANG 设置的参数,或经过alter session 改变后的参数值(不包括由NLS_LANG 设置的客户端字符集)
3、 NLS_INSTANCE_PARAMETE--显示由参数文件init<SID>.ora 定义的参数V$NLS_PARAMETERS--显示数据库当前NLS参数取值
1.5.5.2 客户端字符集的设置
Unix环境 : 编辑 oralce用户的 profile文件,设置NLS_LANG 参数
使用下列方法可以修改NLS参数
(1)修改实例启动时使用的初始化参数文件
(2)修改环境变量NLS_LANG
(3)使用ALTER SESSION语句,在oracle会话中修改
(4)使用某些SQL函数
NLS作用优先级别:Sql function>alter session>环境变量或注册表>参数文件>数据库默认参数
分享到:
相关推荐
### Oracle 数据类型详解 #### 4.1 Oracle 数据类型 ##### 4.1.1 概述 在深入了解Oracle数据库中的各种数据类型之前,我们首先需要明确数据类型的基本概念。数据类型是由一组具有相同特性的值及其上定义的操作...
以下是对Oracle数据类型的详细总结,特别是字符和二进制串类型。 首先,我们来看字符类型。Oracle提供了四种基本的字符数据类型:`CHAR`,`NCHAR`,`VARCHAR2`,以及`NVARCHAR2`。`CHAR`和`NCHAR`是固定长度的数据...
它提供了一个OracleDbType枚举,该枚举定义了所有Oracle数据类型到.NET数据类型的映射。例如,OracleDbType.Number对应.NET的decimal,OracleDbType.Varchar2对应.NET的string,OracleDbType.Date对应.NET的DateTime...
标题"java、mysql以及oracle数据类型对照表"揭示了本主题的核心,即比较Java、MySQL和Oracle数据库的数据类型。Java的数据类型主要分为基本类型(如int、double、boolean)和引用类型(如类、接口和数组)。MySQL和...
在Oracle中,数据类型可以分为基本数据类型、对象数据类型和大型对象数据类型。以下是对Oracle主要数据类型的详细说明: 1. **Char(n)**: 这是一种定长字符串数据类型,其中n的范围是1到2000字节。如果未指定长度,...
- `bit`在SQL Server中没有直接对应的Oracle数据类型,但可以近似用单字节的`NUMBER(1)`表示。 - `datetime`和`smalldatetime`在SQL Server中对应Oracle的`DATE`,表示日期和时间。 - `decimal`和`numeric`在SQL ...
Oracle 数据类型和函数 Oracle 数据类型是指一组性质相同的值的集合以及定义于这个值集合上的一组操作的总称。在 Oracle 数据库中,数据类型可以分为字符型、数值型、日期型和其它类型等几类。 Oracle 数据类型...
### Oracle新手入门指导之四——ORACLE数据类型 在Oracle数据库中,数据类型的选择对于确保数据的正确存储、处理效率以及资源的有效利用至关重要。本文将详细介绍Oracle中的各种数据类型及其特性,帮助初学者更好地...
一、Oracle数据类型详解 在Oracle数据库中,数据类型定义了列可以存储的数据类型。理解这些数据类型对于创建表结构和编写SQL语句至关重要。主要的数据类型包括: 1. **数值型**:NUMBER(p,s)用于存储浮点数,p是总...
本篇文章将深入探讨Oracle数据类型及其重要性。 首先,Oracle数据类型大致可以分为四大类:数值型、字符型、日期/时间型和二进制型。数值型数据类型包括整数类型(如NUMBER、INTEGER、BINARY_INTEGER)和浮点类型...
理解Oracle数据类型对于数据库设计、开发和管理至关重要。以下是Oracle 10g中数据类型的详细讲解: 1. **数值类型** - `NUMBER(p,s)`: 最通用的数值类型,可以存储整数和小数,p代表总位数,s代表小数位数。 - `...
Oracle 数据类型是 Oracle 数据库管理系统中的数据类型,用于存储和管理数据,而 JDBC(Java Database Connectivity)类型是 Java 语言中用于连接数据库的 API 中的数据类型。了解 Oracle 数据类型和对应的 JDBC ...
【标题】: "SQL MySQL Oracle 数据类型对比与理解" 【描述】: "本文将深入探讨 MySQL、Oracle 和 SQL Server 三大主流数据库系统中的数据类型,以及它们与 JDBC 数据类型的对应关系,帮助读者全面理解各数据库的...
以下是对Oracle数据类型及存储方式的深入探讨。 ### 第一部分:字符类型 #### §1.1 CHAR `CHAR`是一种固定长度的字符串类型,一旦定义了长度,如`CHAR(10)`,不论实际存储的数据是否达到这个长度,都会占用指定...
### Oracle 数据类型详解 #### 一、概述 Oracle 数据库提供了丰富的数据类型,这些类型能够满足各种业务场景的需求。在数据库设计中合理选择数据类型对于提高数据库性能、减少存储空间和确保数据一致性等方面都至...
Oracle 数据库是一个强大的关系型数据库管理系统,其丰富的数据类型和函数是进行数据存储和处理的基础。在Oracle中,数据类型用于定义字段可以存储的数据种类,而函数则帮助我们对数据进行各种操作。以下是对这些...
Oracle 数据类型是数据库管理系统中用来定义列或变量的数据格式,对于理解如何有效地存储和操作数据至关重要。Oracle 提供了丰富的数据类型,以满足各种数据存储需求。以下是对标题和描述中涉及的知识点的详细说明:...
这里我们将深入探讨MySQL与Oracle数据类型之间的对应关系,以及它们在Java编程语言中的映射。 1. MySQL数据类型: - BIGINT:MySQL中用于存储大整数,对应Oracle的NUMBER类型,可以表示非常大的数值。 - BIT:...