`

Oracle->convert to 34进制

    博客分类:
  • sql
 
阅读更多
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;
分享到:
评论

相关推荐

    oracle函数大全.doc

    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_...

    sqlserver-oracle 数据类型对照

    - `HEX_TO_RAW`和`RAW_TO_HEX`分别在Oracle中进行16进制到二进制和二进制到16进制的转换。 - `STR`和`CONVERT`在SQL Server中实现数字到字符串的转换。 4. **其他行级别的函数**: - `DECODE`在Oracle中用于条件...

    Oracle SQL 内置函数大全(3)

    6. **TO_DATE(string, 'format')**:此函数将包含日期信息的字符串转换为Oracle数据库的日期类型。`format`参数用于定义输入字符串的日期格式。 7. **TO_MULTI_BYTE(string)**:该函数将单字节字符的字符串转换为多...

    ORACLE与SQLSERVER函数异同比较

    - **二进制转十六进制**: Oracle中的`RAW_TO_HEX`函数与SQL Server中的`CONVERT`函数有类似功能。 总结来说,尽管Oracle和SQL Server在函数的具体实现和语法上有所不同,但它们都提供了广泛的功能来支持日常的...

    oracle函数大全

    除了上述提到的函数外,还有很多其他类型的函数,如字符串处理函数(如INITCAP、UPPER、LOWER等)、日期函数(如SYSDATE、MONTHS_BETWEEN等)、转换函数(如CONVERT、TO_DATE、TO_NUMBER等)、聚合函数(如SUM、AVG...

    oracle db常用sql命令

    - **说明**: TO_CHAR 函数可以将十进制数转换为十六进制字符串表示形式。 ##### 2.4 二进制到十进制转换 - **函数**: `BIN_TO_NUM(binary_digits...)` - **例子**: - `SELECT BIN_TO_NUM(1, 1, 0, 1) FROM DUAL;` ...

    oracle常用字符函数

    Oracle数据库系统提供了丰富的函数库,包括字符函数、日期函数、数据类型转换函数以及集合函数,以帮助用户在处理数据时实现各种复杂的操作。下面将详细解释这些函数的用途和使用方法。 1. **字符函数** - `LOWER...

    Oracle函数大全.pdf

    在Oracle数据库中,函数是一类预定义的子程序,它可以对输入参数执行运算,并返回一个结果值。Oracle提供了一系列的函数,用于处理不同类型的数据,如字符串、数字、日期和时间等。下面按照文档所提供的内容,详细...

    SqlServer,Oracle数据类型,函数,导入导出对照

    - **binary**:SQL Server提供固定长度的二进制数据存储,Oracle则通过RAW类型实现相同功能。 - **bit**:SQL Server中的bit类型用于存储布尔值,Oracle通过一个字符位来模拟这一功能。 - **char**:两者都支持固定...

    ORACLE与SQLSERVER中的语法区别

    在 ORACLE 中,使用 `TO_DATE` 函数来将字符串转换为日期,而在 SQL Server 中,使用 `CONVERT` 函数。例如: SQL Server: `SELECT * FROM tablename WHERE lrsj >= '2002-11-11'` ORACLE: `SELECT * FROM ...

    Oracle函数大全

    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和SQL语法区别归纳

    - **转换函数**:Oracle 有 `HEX_TO_RAW` 和 `RAW_TO_HEX` 用于二进制和十六进制转换,SQL Server 使用 `CONVERT`。 5. **聚合函数**: - **平均值**:Oracle 和 SQL Server 都使用 `AVG`。 - **计数**:Oracle...

    SQL Server与Oracle常用函数对比

    - `TO_BINARY()`在SQL Server用于转换为二进制,Oracle没有直接对应函数,可能需要结合`UTL_RAW.CAST_TO RAW()`和`UTL_I18N.STRING_TO_RAW()`使用。 6. **游标和循环**: - SQL Server使用`DECLARE CURSOR`和`...

    DBA成长之路(ORACLE)

    ### DBA成长之路(ORACLE) #### 数据文件 数据文件是Oracle数据库中极其重要的组成部分,它们主要用于存储数据库的所有数据,包括表数据以及索引数据。这些文件通常具有.dbf的扩展名。每个数据库实例可以包含多个...

    oracle日常命令.docx

    - `HEXTORAW()`、`RAWTOHEX()`:十六进制和二进制之间的转换。 - `TO_CHAR()`、`TO_DATE()`、`TO_NUMBER()`:字符串与日期、数字间的转换。 - `TO_MULTI_BYTE()`、`TO_SINGLE_BYTE()`:全角和半角字符的转换。 -...

    oracle常用函数

    在Oracle数据库中,函数是处理数据的强大工具,可以用于数据转换、数学运算、日期操作、字符串处理等。以下是从给定文件中提炼出的一些Oracle常用函数及其应用详解: ### ASCII和CHR函数 - **ASCII**: 返回一个...

    Oracle 11g Functions 常用函数

    ### Oracle 11g Functions 常用函数详解 #### ABS **语法**: `ABS(n)` **用法**: 返回参数`n`的绝对值。 **参数**: `n`为数值数据类型,或者可以隐式转化为数值类型的其他数据类型。 **示例**: ```sql SELECT ABS(-...

    oracle函数库

    ### Oracle函数库详解 #### 一、字符串处理函数 **1. ASCII('字符')** - **功能**: 返回指定字符的ASCII码(十进制数)。 - **示例**: `SELECT ASCII('A') FROM DUAL;` 返回结果为 `65`。 **2. CHR(数字)** - **...

    oracle代码包括查询,子查询,,,

    根据提供的Oracle代码片段,我们可以总结出一系列与Oracle数据库操作相关的知识点。这些知识点涵盖了日期处理、时间转换、数据类型转换等方面的重要功能。下面是针对这些代码片段的详细解释: ### 1. 使用`LAST_DAY...

Global site tag (gtag.js) - Google Analytics