程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> 【ORACLE】oracle字符串對象的處理

【ORACLE】oracle字符串對象的處理

編輯:Oracle教程

【ORACLE】oracle字符串對象的處理


2.1 char字段,varchar2字段

(1)定義字段長度char(10)表示字段可以存放10個英文字符(不管任何編碼方式,英文字符都占10個字節嗎?),且分配物理空間的時候,總是分配10個字符的位置。定義可變長varchar(10)表示最多可以存放10個英文字符,且分配物理空間的是,根據實際字段的數據,分配實際的空間

(2)char和varchar2的最長字段類型長度

Char(2000),varchar2(4000)

(3)varchar字段的中文問題。

定義字段為varchar(2),插入中文字符”你好”是插不進去的。因為”你好”占用的空間,超過了最大的空間兩個英文字符空間

一個英文字符占用幾個字節,一個中文字符占用幾個字節,要看字符的編碼規則。

查看編碼的函數為:

select userenv('language') from dual;

設計表的時候,一般按照中文字符數量的三倍來設計varchar2字段的容量。

(4)nvarchar類型

Nvarchar2類型解決varchar2類型的中文問題,nvarchar(2),不管中文字符,還是英文字符都能最多只能存放兩個字符。

2.2 字符的處理函數

(1)trim,ltrim,rtrim去除字符串頭或尾的空格

(2)lpad,rpad函數默認按照空格,前或者後填充到一定長度

例如,

select lpad(lname,50,'*') from foo_6;

select lpad(lname,50) from foo_6;

(1) 利用substr()函數獲取第n字符後面的所有字符(oracle中字符下標從1開始計算)

Substr(lname,3);

可以定義獲取字符的長度5,

例如

Substr(lname,3,5)

(2) substr起始位置下標,可以為負數,表示從後面往前數的位置,取字符串還是往後取。

例如,

Substr(lname,-5)表示取最後的五個字符。

(3) instr函數找到字符的下標位置

insrt(lname,’查找字符’,起始位置)

可以查找第幾次出現的位置,

例如

Insr(lname,’查看字符’,起始位置,第幾次出現)

(4) length函數獲取字符的個數

length(“你好”) length(‘ab’)返回值都是2,表示兩個字符,字符下標最大為2,不表示占用的字節數量。

3 oracle數字對象

Number(10)有效數字為10

Number(10,2)有效數字為10,含2位小數

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved