sql中可以直接插入16进制字串表示的数据到blob表中。如果不是16进制的字符串pl/sql报无效的16进制数字异常。
ASCII字符串==>16进制串
create or replace function AscToHex(sIn IN varchar2)
RETURN varchar2
IS
sTmp varchar2(4000);
i integer;
BEGIN
i:=1;
stmp:=’’;
for i in 1..length(sIn) loop
sTmp:=sTmp||trim(to_char(ascii(substr(sIn,i,1)),’XXXX’));
end loop;
return sTmp;
END;
16进制串==>ASCII字符串
要区分字符集,以中文字符为例,对于数据库字符集是中文,要保证能够正确转回来,要有所不同。数据库字符集是中文
create or replace function HexToAsc(sIn IN varchar2)
RETURN varchar2
IS
sTmp varchar2(4000);
i integer;
x integer;
BEGIN
i:=1;
stmp:=’’;
loop
exit when i>length(sIn);
x:=to_number(substr(sIn,i,2),’XXXX’);
if x>128 then
sTmp:=sTmp||chr(to_number(substr(sIn,i,4),’XXXX’));
i:=i+4;
else
sTmp:=sTmp||chr(to_number(substr(sIn,i,2),’XXXX’));
i:=i+2;
end if;
end loop;
return sTmp;
END;
数据库字符集是英文
create or replace function HexToAsc(sIn IN varchar2)
RETURN varchar2
IS
sTmp varchar2(4000);
i integer;
BEGIN
i:=1;
stmp:=’’;
loop
exit when i>length(sIn);
sTmp:=sTmp||chr(to_number(substr(sIn,i,2),’XXXX’));
i:=i+2;
end loop;
return sTmp;
END;
测试,如下:
SQL>select hextoasc(asctohex(’你好ABC么’)) from dual;
HEXTOASC(ASCTOHEX(’你好ABC么’))
-----------------------------------------------------------
你好ABC么
相关推荐
68<br><br>0091 如何根据ASCII码获得字母 68<br><br>0092 编程中经常使用的ASCII码 68<br><br>0093 获得汉字的区位码 69<br><br>0094 如何根据区位码获得汉字 69<br><br>0095 如何将行字符串转换为列字符串...
ORACLE 字符串函数 ORACLE 字符串函数是一组用于操作和处理字符串的函数,包括连接、截取、转换、查找、替换、去除空白等操作。 1. 字符串连接函数:`string || string` 该函数用于连接两个字符串,结果是一个新...
3. **调整客户端设置**:如果只是某个客户端连接出现字符集问题,可以通过设置环境变量或在连接字符串中指定字符集来解决。 #### 五、启动数据库的不同模式 根据启动数据库的需求不同,可以选择不同的启动模式: ...
Oracle数据库中的函数是用于执行特定任务的预定义程序,它们可以用于各种操作,如数学运算、字符串处理、日期和时间计算等。以下是Oracle数据库中常用函数的详细知识点。 1. ASCII函数:用于返回给定字符对应的十...
在Oracle数据库中,函数是处理数据的强大工具,可以用于数据转换、数学运算、日期操作、字符串处理等。以下是从给定文件中提炼出的一些Oracle常用函数及其应用详解: ### ASCII和CHR函数 - **ASCII**: 返回一个...
3. HEXTORAW函数:将十六进制字符串转换为 RAW 类型。 4. RAWTOHEX函数:将 RAW 类型转换为十六进制字符串。 5. ROWIDTOCHAR函数:将 ROWID 转换为字符类型。 6. TO_CHAR函数:将数字、日期类型的数据转换为字符类型...
将十六进制字符串转换为二进制。例如: ```sql SELECT HEX_TO_RAW('ff') FROM dual; ``` 输出结果为二进制表示的ff。 #### 44. RAW_TO_HEX 将二进制转换为十六进制字符串。例如: ```sql SELECT RAW_TO_HEX(X'ff') ...
* NVARCHAR2:Oracle 中的 NVARCHAR2 是根据字符集而定的可变长度字符串,最大长度为 4KB,而 SQL Server 中的 NVARCHAR 最大长度也为 4KB。 日期和时间数据类型 Oracle 和 SQL Server 都有 DATE 等日期和时间数据...
以下是一些常用的Oracle函数,这些函数涵盖了字符处理、数值计算、字符串比较等多个方面: 1. ASCII函数:这个函数返回一个字符对应的ASCII码(十进制数)。例如,ASCII('A')将返回65,表示大写字母'A'的ASCII值。 ...
例如,INSTR('Oracle Training', 'ra')将返回9,表示'ra'在字符串中的位置。 6. **INSTRB函数**:与INSTR类似,但返回的是字节位置,适用于包含多字节字符的字符串。 7. **LENGTH函数**:LENGTH函数返回字符串的...
Oracle 数据库支持多种数据类型,这些数据类型用于存储不同类型的数据,包括字符串、数字、日期、二进制数据和特殊对象。下面将详细解释这些数据类型及其特性: 1. CHAR: 固定长度的字符串,最大长度为2000字节。...
- `HEX_TO_RAW`和`RAW_TO_HEX`分别在Oracle中进行16进制到二进制和二进制到16进制的转换。 - `STR`和`CONVERT`在SQL Server中实现数字到字符串的转换。 4. **其他行级别的函数**: - `DECODE`在Oracle中用于条件...
本文主要介绍了MySQL中几个常见的字符串处理函数,包括`ASCII()`, `ORD()`, `CONV()`, `BIN()`, `OCT()`, `HEX()`, `CHAR()`, `CONCAT()`, 以及字符串长度相关的函数如`LENGTH()`, `OCTET_LENGTH()`, `CHAR_LENGTH()...
这里使用`concat`连接了两个字符串'010-'和'88888888',然后使用双竖线`||`将其与另一个字符串'т23'拼接起来,结果为`010-88888888т23`。 #### 4. INITCAP **功能描述:** 将字符串的第一个字母大写,其余字母...
**功能**: 返回与给定字符串发音相似的字符串编码。 **语法**: SOUNDEX(str) **示例**: ```sql -- 创建表并插入数据 CREATE TABLE table1 (xm VARCHAR(8)); INSERT INTO table1 VALUES ('weather'); INSERT INTO ...
### Oracle 110个常用函数 - 部分精选...以上列举了Oracle数据库中一些常用的字符串处理和数学运算函数。这些函数非常实用,在日常的数据处理和分析中有着广泛的应用。理解它们的用法有助于提高SQL查询的效率和准确性。
以上介绍了Oracle数据库中的一些基本字符串处理函数,这些函数可以帮助用户更灵活地操作和处理数据。熟练掌握这些函数的应用对于提高查询效率、简化查询逻辑具有重要意义。接下来的章节将继续介绍其他重要的函数,如...
4. **INSTR**:此函数用于在一个字符串中查找指定子串第一次出现的位置。INSTR('Hello World', 'World')会返回6。 5. **LENGTH**:返回字符串的字符长度。例如,LENGTH('Hello')返回5。 6. **LOWER**:将字符串中...
- `HEXTORAW(x)`:将16进制字符串转换为二进制数据。 5. **聚组函数**: - `AVG(x)`:返回指定列`x`的平均值。 - `COUNT(*)`:返回查询结果的行数。 - `MAX(x)`:返回指定列`x`的最大值。 - `MIN(x)`:返回...