create or replace function convert_decimal_to_base34(p_decimal_num in integer)
return varchar2 is
v_Result_str varchar2(7);
v_replace_str varchar2(1);
v_baseIndex int := 6;
v_remainder int := 0;
v_quotient int := p_decimal_num;
begin
---------Initial string--------
v_Result_str := '0000000';
loop
v_remainder := mod(v_quotient, 34);
------------replace decimal_num with base 34 code
select decode(v_remainder,
'10',
'A',
'11',
'B',
'12',
'C',
'13',
'D',
'14',
'E',
'15',
'F',
'16',
'G',
'17',
'H',
'18',
'J',
'19',
'K',
'20',
'L',
'21',
'M',
'22',
'N',
'23',
'P',
'24',
'Q',
'25',
'R',
'26',
'S',
'27',
'T',
'28',
'U',
'29',
'V',
'30',
'W',
'31',
'X',
'32',
'Y',
'33',
'Z',
v_remainder)
into v_replace_str
from dual;
-------reform string-------
v_result_str := substr(v_result_str, 0, v_baseIndex) || v_replace_str ||
substr(v_result_str, v_baseIndex + 2, 6 - v_baseIndex);
--------------
v_quotient := floor(v_quotient / 34);
v_baseIndex := v_baseIndex - 1;
exit when v_baseIndex = 0;
----------Do while conditional loop ----------
end loop;
return(v_Result_str);
end convert_decimal_to_base34;
分享到:
- 2008-03-31 11:03
- 浏览 1752
- 评论(0)
- 论坛回复 / 浏览 (0 / 1343)
- 查看更多
相关推荐
SQL> select to_char(sysdate,'yyyy.mm.dd'),to_char((sysdate)+1,'yyyy.mm.dd') from dual; TO_CHAR(SY TO_CHAR((S ---------- ---------- 2004.05.09 2004.05.10 SQL> select last_day(sysdate) from dual; LAST_...
- `HEX_TO_RAW`和`RAW_TO_HEX`分别在Oracle中进行16进制到二进制和二进制到16进制的转换。 - `STR`和`CONVERT`在SQL Server中实现数字到字符串的转换。 4. **其他行级别的函数**: - `DECODE`在Oracle中用于条件...
6. **TO_DATE(string, 'format')**:此函数将包含日期信息的字符串转换为Oracle数据库的日期类型。`format`参数用于定义输入字符串的日期格式。 7. **TO_MULTI_BYTE(string)**:该函数将单字节字符的字符串转换为多...
- **二进制转十六进制**: Oracle中的`RAW_TO_HEX`函数与SQL Server中的`CONVERT`函数有类似功能。 总结来说,尽管Oracle和SQL Server在函数的具体实现和语法上有所不同,但它们都提供了广泛的功能来支持日常的...
除了上述提到的函数外,还有很多其他类型的函数,如字符串处理函数(如INITCAP、UPPER、LOWER等)、日期函数(如SYSDATE、MONTHS_BETWEEN等)、转换函数(如CONVERT、TO_DATE、TO_NUMBER等)、聚合函数(如SUM、AVG...
- **说明**: TO_CHAR 函数可以将十进制数转换为十六进制字符串表示形式。 ##### 2.4 二进制到十进制转换 - **函数**: `BIN_TO_NUM(binary_digits...)` - **例子**: - `SELECT BIN_TO_NUM(1, 1, 0, 1) FROM DUAL;` ...
Oracle数据库系统提供了丰富的函数库,包括字符函数、日期函数、数据类型转换函数以及集合函数,以帮助用户在处理数据时实现各种复杂的操作。下面将详细解释这些函数的用途和使用方法。 1. **字符函数** - `LOWER...
在Oracle数据库中,函数是一类预定义的子程序,它可以对输入参数执行运算,并返回一个结果值。Oracle提供了一系列的函数,用于处理不同类型的数据,如字符串、数字、日期和时间等。下面按照文档所提供的内容,详细...
- **binary**:SQL Server提供固定长度的二进制数据存储,Oracle则通过RAW类型实现相同功能。 - **bit**:SQL Server中的bit类型用于存储布尔值,Oracle通过一个字符位来模拟这一功能。 - **char**:两者都支持固定...
在 ORACLE 中,使用 `TO_DATE` 函数来将字符串转换为日期,而在 SQL Server 中,使用 `CONVERT` 函数。例如: SQL Server: `SELECT * FROM tablename WHERE lrsj >= '2002-11-11'` ORACLE: `SELECT * FROM ...
SQL> SELECT TO_CHAR(ADD_MONTHS(TO_DATE('199912', 'YYYYMM'), 2), 'YYYYMM') FROM DUAL; TO_CHA ------ 200002 ``` ```sql SQL> SELECT TO_CHAR(ADD_MONTHS(TO_DATE('199912', 'YYYYMM'), -2), 'YYYYMM') ...
- **转换函数**:Oracle 有 `HEX_TO_RAW` 和 `RAW_TO_HEX` 用于二进制和十六进制转换,SQL Server 使用 `CONVERT`。 5. **聚合函数**: - **平均值**:Oracle 和 SQL Server 都使用 `AVG`。 - **计数**:Oracle...
- `TO_BINARY()`在SQL Server用于转换为二进制,Oracle没有直接对应函数,可能需要结合`UTL_RAW.CAST_TO RAW()`和`UTL_I18N.STRING_TO_RAW()`使用。 6. **游标和循环**: - SQL Server使用`DECLARE CURSOR`和`...
### DBA成长之路(ORACLE) #### 数据文件 数据文件是Oracle数据库中极其重要的组成部分,它们主要用于存储数据库的所有数据,包括表数据以及索引数据。这些文件通常具有.dbf的扩展名。每个数据库实例可以包含多个...
- `HEXTORAW()`、`RAWTOHEX()`:十六进制和二进制之间的转换。 - `TO_CHAR()`、`TO_DATE()`、`TO_NUMBER()`:字符串与日期、数字间的转换。 - `TO_MULTI_BYTE()`、`TO_SINGLE_BYTE()`:全角和半角字符的转换。 -...
在Oracle数据库中,函数是处理数据的强大工具,可以用于数据转换、数学运算、日期操作、字符串处理等。以下是从给定文件中提炼出的一些Oracle常用函数及其应用详解: ### ASCII和CHR函数 - **ASCII**: 返回一个...
### Oracle 11g Functions 常用函数详解 #### ABS **语法**: `ABS(n)` **用法**: 返回参数`n`的绝对值。 **参数**: `n`为数值数据类型,或者可以隐式转化为数值类型的其他数据类型。 **示例**: ```sql SELECT ABS(-...
### Oracle函数库详解 #### 一、字符串处理函数 **1. ASCII('字符')** - **功能**: 返回指定字符的ASCII码(十进制数)。 - **示例**: `SELECT ASCII('A') FROM DUAL;` 返回结果为 `65`。 **2. CHR(数字)** - **...
根据提供的Oracle代码片段,我们可以总结出一系列与Oracle数据库操作相关的知识点。这些知识点涵盖了日期处理、时间转换、数据类型转换等方面的重要功能。下面是针对这些代码片段的详细解释: ### 1. 使用`LAST_DAY...