`
xianbiao
  • 浏览: 20473 次
  • 性别: Icon_minigender_1
  • 来自: 济南
博客专栏
631418bd-8db1-3434-b048-6a9c391619fa
Oracle 基本数据类型...
浏览量:9049
社区版块
存档分类
最新评论

Oracle 基本数据类型---(字符串)

 
阅读更多

Oracle 字符串格式

首先介绍:char(N) 和Varchar2(N)格式

create table TEST_CHAR
(
CHAR_COL    CHAR(10),
VARCHAR_COL VARCHAR2(10),
);

SQL> insert into test_char(char_col, varchar_col ) values ('123','123');

SQL> commit;

SQL> select char_col,dump(char_col,16) as d_char_col ,  varchar_col,dump(varchar_col,16) as d_varchar_col from test_char;
 
CHAR_COL   D_CHAR_COL                                                   VARCHAR_COL         D_VARCHAR_COL
---------- -------------------------------------------------------------------------------- ----------- --------------------------------------------------------------------------------
123        Typ=96 Len=10: 31,32,33,20,20,20,20,20,20,20            123             Typ=1 Len=3: 31,32,33
 

可以看到:char 类型,若是长度不够,则自动在后面填补空格;varchar类型,则只是存储‘123’。

SQL> select to_number('31','xx') from dual;
 
TO_NUMBER('31','XX')
--------------------
                  49

 ----首先将16进制的数据转化为10进制。

SQL> select chr(49) from dual;
 
CHR(49)
-------
1

取得了 49 对应的 字符。

总结如下:oracle 存储字符,是将字符转化为对应的ASCII码进行相应的存储。

 

SQL> insert into test_char(char_col , varchar_col) values( '神奇的国家','神奇的国家');

SQL> commit;

 

Commit complete

 

SQL> select char_col,dump(char_col,16) as d_char_col ,  varchar_col,dump(varchar_col,16) as d_varchar_col from test_char;
 
CHAR_COL   D_CHAR_COL                                                                       VARCHAR_COL D_VARCHAR_COL
---------- -------------------------------------------------------------------------------- ----------- --------------------------------------------------------------------------------
123        Typ=96 Len=10: 31,32,33,20,20,20,20,20,20,20        123    Typ=1 Len=3: 31,32,33
神奇的国家 Typ=96 Len=10: c9,f1,c6,e6,b5,c4,b9,fa,bc,d2    神奇的国家  Typ=1 Len=10: c9,f1,c6,e6,b5,c4,b9,fa,bc,d2

可以看到中文字符 是按两个字节进行存储的。

 

接下来进行介绍的是:NChar(N),NVarchar2(N)。

 

create table TEST_NCHAR
(
  CHAR_COL    NCHAR(10),
  VARCHAR_COL NVARCHAR2(10)
);

 

 
SQL> insert into test_nchar (char_col , VARCHAR_COL) values('123','123');
 
1 row inserted
 
SQL> commit;
 
Commit complete
 
SQL> select char_col , dump(char_col , 16) as d_char_col , VARCHAR_COL ,  dump(VARCHAR_COL, 16) as d_VARCHAR_COL from test_nchar;
 
CHAR_COL             D_CHAR_COL            VARCHAR_COL          D_VARCHAR_COL
-------------------- -------------------------------------------------------------------------------- -------------------- --------------------------------------------------------------------------------
123                  Typ=96 Len=20: 0,31,0,32,0,33,0,20,0,20,0,20,0,20,0,20,0,20,0,20                 123                  Typ=1 Len=6: 0,31,0,32,0,33
 

可以清楚的看到,同时插入了字符串‘123’,但是NChar的为 0,31,0,32,0,33,就是说:高位用0补充,补足两个字节。

总结如下:NChar,Nvarchar2 存储的所有字符都是按两个字节进行存储。

上述四种类型的共同点是:英文字符和数字都是按照ASCII码进行存储。

可以查看oracle的字符集:

SQL> select * from sys.props$  where name like '%CHARACTERSET%' ;
 
NAME                           VALUE$                                                                           COMMENT$
------------------------------ -------------------------------------------------------------------------------- --------------------------------------------------------------------------------
NLS_CHARACTERSET                 ZHS16GBK                                                Character set
NLS_NCHAR_CHARACTERSET         AL16UTF16                                              NCHAR Character set
 

 

分享到:
评论

相关推荐

    oracle基本数据类型

    Oracle 基本数据类型 Oracle 中有多种基本数据类型,包括字符类型、数字类型、日期类型、二进制类型等。了解这些数据类型的特点和使用场景,对于数据库设计和开发至关重要。本文将详细介绍 Oracle 中的基本数据类型...

    Oracle基本数据类型.pdf

    ### Oracle基本数据类型详解 #### 一、概述 Oracle 数据库提供了多种数据类型来满足不同的需求,这些数据类型包括字符型、数值型、日期时间型、大对象类型等。了解这些基本数据类型对于正确设计数据库表结构至关...

    Oracle拆分字符串,字符串分割的函数

    在Oracle数据库中,处理字符串是常见的操作之一,尤其是在数据分析或数据清洗的过程中。有时我们需要将一个长字符串分割成多个部分,以便进行进一步的操作。Oracle提供了一些内置的函数来帮助我们完成这个任务。本篇...

    Oracle基本数据类型

    2. **Varchar2(n)**:这是Oracle中最常用的可变长字符串数据类型,长度范围为1到4000字节。Varchar2会根据实际数据长度动态调整空间,节省存储空间。与Char相比,Varchar2在空间上更高效,但可能影响查询速度。如果...

    sqlserver-oracle 数据类型对照

    - `bit`在SQL Server中没有直接对应的Oracle数据类型,但可以近似用单字节的`NUMBER(1)`表示。 - `datetime`和`smalldatetime`在SQL Server中对应Oracle的`DATE`,表示日期和时间。 - `decimal`和`numeric`在SQL ...

    Oracle与.Net 数据类型映射

    它提供了一个OracleDbType枚举,该枚举定义了所有Oracle数据类型到.NET数据类型的映射。例如,OracleDbType.Number对应.NET的decimal,OracleDbType.Varchar2对应.NET的string,OracleDbType.Date对应.NET的DateTime...

    oracle和sql数据类型

    总结来说,Oracle 和 SQL Server 数据类型在很多方面有相似之处,如字符串、数字、日期/时间、二进制数据类型,但在细节上有所差异,如长度限制、Unicode 支持和特定用途的类型(如 Oracle 的 Bfile 和 SQL Server ...

    oracle 如何判断一个字符串能否转换为数字?

    在Oracle数据库中,我们经常需要处理各种数据类型之间的转换。尤其是在处理字符型数据时,有时我们需要判断一个字符串是否能够被成功地转换成数字类型。与SQL Server提供了`IS_NUMBER`这样的内置函数不同,Oracle并...

    Oracle JSON 字符串处理实例

    总的来说,Oracle的JSON处理能力强大且灵活,不仅能够满足基本的字符串操作,还能支持复杂的数据查询和转换,使得在关系型数据库中存储和处理JSON数据变得轻松易行。通过学习和实践这些功能,开发者可以更好地适应...

    oracle日期字符串的相互转换

    使用`TO_DATE()`函数可以将字符串类型的数据转换为日期类型。 **示例1:** ```sql SELECT TO_DATE('20111101', 'yyyyMMdd') FROM DUAL; ``` **查询结果:**2011-11-1 **说明:**这里将一个8位的日期字符串转换成了...

    Oracle 数据库连接字符串大全教程

    Oracle 连接字符串代码可以分为多种类型,包括 ODBC 连接、OLE DB 连接和 Oracle.DataAccess.Client.OracleConnection 连接等。 1. ODBC 连接 新版本 Driver={Microsoft ODBC for Oracle};Server=myServerAddress;...

    CLOB 字段类型报错 ORA-01704: 文字字符串过长的解决

    然而,当你尝试向CLOB字段插入数据时,如果超过了Oracle规定的最大限制,就会遇到“ORA-01704: 文字字符串过长”的错误。这个错误通常意味着你试图插入的字符串超过了Oracle数据库允许的最大长度,对于VARCHAR2类型...

    Oracle与DB2数据类型分类对应说明

    在本文中,我们将对 Oracle 和 DB2 的数据类型进行分类和对应说明,主要包括数值类型、日期时间类型、字符串类型、LOB 类型和 ROWID 类型等。 一、数值类型 Oracle 中的 NUMBER 类型可以对应 DB2/400 中的多种类型...

    Oracle接收长度大于4000的字符串

    通过以上步骤,可以在.NET环境中成功处理和传递长度超过4000个字符的字符串至Oracle数据库,并通过存储过程读取这些数据。这种方式不仅能够解决字符串长度限制的问题,还能够提高应用程序的灵活性和扩展性。

    oracle基本数据类型存储格式浅析.pdf

    ### Oracle基本数据类型存储格式浅析 —— 字符类型 #### 概述 在Oracle数据库中,字符类型是非常常见的数据类型之一,它主要用于存储文本信息。本文将详细探讨Oracle数据库中几种基本字符类型的存储格式,包括`...

    Oracle数据类型

    Oracle数据库中常用的数据类型主要包括字符类型、数字类型、日期时间类型以及LOB类型等,每一种数据类型适用于特定的数据存储需求。 1. 字符类型 - CHAR类型是固定长度的,用于存储定长的字符串,最多2000个字符。...

    java、mysql以及oracle数据类型对照表

    标题"java、mysql以及oracle数据类型对照表"揭示了本主题的核心,即比较Java、MySQL和Oracle数据库的数据类型。Java的数据类型主要分为基本类型(如int、double、boolean)和引用类型(如类、接口和数组)。MySQL和...

Global site tag (gtag.js) - Google Analytics