`

LENGTH,LENGTHB,LENGTHC,LENGTH2,LENGTH4的区别!

阅读更多


具体说明如下:
LENGTH(string1) 返回以字符为单位的长度.
LENGTHB(string1) 返回以字节为单位的长度.
LENGTHC(string1) 返回以Unicode完全字符为单位的长度.
LENGTH2(string1) 返回以UCS2代码点为单位的长度.
LENGTH4(string1) 返回以UCS4代码点为单位的长度.

在不同的数据库,LENGTHB得到的值可能会不一样。
如LENGTHB('哈’)在不同的数据库得到的值可能是2或3。

因为不同字符集,对汉字的编码是不一样的,
例如ZHS16GBK是两位,采用两个byte位来定义一个汉字。
而在UTF8,采用3个byte。(也有2位汉字的UTF8的可能性)
总之,lengthb的值和你当前数据库的字符集是有关的。


oracle中length()与lengthb()最大的区别在于:
SQL> select length('新春快乐') from dual;

LENGTH('新春快乐')
------------------
4

SQL> select lengthb('新春快乐') from dual;

LENGTHB('新春快乐')
-------------------
8

区别:length求得是字符长度,
lengthb求得是字节长度。
分享到:
评论

相关推荐

    oracle中length、lengthb、substr、substrb函数用法介绍

    2. `lengthb`函数:与`length`函数相反,`lengthb`计算的是字符串的字节长度。在UTF-8编码中,一个英文字符通常占用1个字节,而一个汉字占用3个字节。因此,对于相同的字符串'叶德华abc',`lengthb('叶德华abc')`会...

    oracle求字符串长度函数length()和hengthb()简介

    在Oracle数据库中,处理字符串是常见的操作,而`length()`和`lengthb()`函数则是用于获取字符串长度的两个重要函数。这两个函数可以帮助我们了解字符串在存储时占用的空间,从而进行有效的数据管理和分析。 1. `...

    ORACLE数据库汉字占几个字节问题.pdf

    在 AL32UTF8 或 UTF8 编码下,一个汉字通常占用 3 到 4 个字节,而在 ZHS16GBK 编码下,一个汉字占用 2 个字节。 要确定数据库的字符集编码,可以使用以下 SQL 语句: ```sql SQL> COL PARAMETER FOR A24; SQL> ...

    Oracle常用函数.docx

    - LENGTHB() 返回字符串的字节数,对于单字节字符集,LENGTHB()等同于LENGTH()。 6. lower() 和 UPPER() - lower() 函数将字符串中的所有字符转换为小写,常用于WHERE子句中的模糊匹配,如LOWER(colorname) LIKE ...

    Oracle内置函数.docx

    3. `Length(string)`返回字符串的长度,`LengthB(string)`返回按字节计算的长度。 4. `Lower(string)`和`Upper(string)`分别返回字符串的小写和大写形式。 5. `Replace(string, SubString[, Replace_String])`替换...

    oracle函数字符处理

    4. **UPPER()** 和 **LOWER()** 函数:将字符串转换为大写或小写。它们分别用于提升和降低字符串中的字符大小写。 5. **TRIM()** 函数:去除字符串两端的指定字符。`TRIM([LEADING | TRAILING | BOTH] trim_chars ...

    plsql 函数简介

    8. **LENGTHb()**: 类似于LENGTH(),但计算字节数。 9. **LOWER()**: 这个函数将字符串转换为全小写,常用于WHERE子句中进行不区分大小写的搜索。 10. **LPAD(,[,])**: 这个函数在字符串c1的左侧填充字符c2,直到...

    Oracle全角数字转换半角数字

    首先,让我们了解`length`和`lengthb`这两个函数的区别。`length`函数用于计算字符串的长度,它基于字符数,对于半角字符,1个字符等于1个字节;而对于全角字符,1个字符等于2个字节。因此,对于全角数字"1234...

    ORACLE 数据类型及常用函数培训

    - `Lpad(char1, length[, char2])`:在字符串左侧填充指定字符,达到指定长度。 - `Ltrim(char1[, char2])`:去掉字符串左侧指定字符。 - `Replace(char1, search_char2[, replace_char3])`:替换字符串中所有...

    常用oracle字符串操作函数

    4. **INSTR()** 函数: `INSTR(str, substr[, start_position[, occurrence]])` 用于查找子字符串在主字符串中出现的位置。`occurrence` 参数可选,用于指定查找第几个出现的子字符串。 5. **REPLACE()** 函数: ...

    Oracle常用函数.pdf

    8. **LENGTHB()**:与LENGTH()相同,但返回的是字节长度。 9. **LOWER()**:将字符串`c`中的所有字符转换为小写,常用于`WHERE`子句中的模糊匹配。 10. **LPAD()**:在字符串`c1`的左侧填充`c2`,使总长度达到`i`...

    Oracle SQL培训笔记

    - **示例**: 对于字符串 "我是中国人",`Length('我是中国人')` 的结果是 5,而 `Lengthb('我是中国人')` 的结果是 10。 2. **字符串截取函数(Substr/Substrb)** - **说明**: `Substr` 和 `Substrb` 分别用于...

    Oracle 汉字转全拼 拼音首字母

    elsif lengthb(lv_char) = 2 then --Select replace(substrb(dump(lv_char,1010),instrb(dump(lv_char,1010),'ZHS16GBK:')),'ZHS16GBK: ','') Into lv_bytes from dual; --li_pos:=instr(lv_bytes,','); --li_...

    oracle中的函数总结

    LENGTH函数返回字符串的字符数,而LENGTHB函数返回字符串的字节数。例如: ```sql SELECT LENGTH('CANDIDE') "Lengthincharacters", LENGTHB('CANDIDE') "Lengthinbytes" FROM DUAL; ``` #### 9. TRIM 函数 TRIM...

    Oracle截取字符串去掉字段末尾指定长度的字符

    2. `LENGTH(string)` 函数则计算字符串`string`的字符长度,以字符为单位。这个函数不考虑字符编码,而是简单地计算字符串中的字符数。在单字节字符集中(如ASCII),字符长度和字节长度相同;但在多字节字符集中,...

    Oracle字符函数应用检测汉字的方法

    接下来,我们将介绍两种主要的方法来检测字段中是否含有汉字:使用ASCII函数和使用LENGTH与LENGTHB函数。 首先,我们使用ASCII函数检测汉字。在ASCII码表中,汉字字符的ASCII值的范围是\uFF00-\uFFFF。因此,我们...

Global site tag (gtag.js) - Google Analytics