簡體   English   中英

如何在oracle中增加十六進制值

[英]how to increment hex value in oracle

我試圖增加ID表中定義為raw的oracle表中的一列:

ID    VALUE
----------
1    A14
2    B13 
3    C15
4    D16 

我需要

   ID    VALUE
----------
1    A24
2    B23 
3    C25
4    D26 

oracle中有什么函數如何遞增? 謝謝

TO_NUMBERTO_CHAR與掩碼X為十六進制數字:

SQL小提琴

Oracle 11g R2架構設置

CREATE TABLE TABLE_NAME (
  ID    INTEGER,
  VALUE VARCHAR2(20)
);

INSERT INTO TABLE_NAME
SELECT 1, 'A14' FROM DUAL UNION ALL
SELECT 2, 'B13' FROM DUAL UNION ALL
SELECT 3, 'C15' FROM DUAL UNION ALL
SELECT 4, 'D16' FROM DUAL UNION ALL
SELECT 5, 'FFF' FROM DUAL;

UPDATE table_name
SET value = TO_CHAR( TO_NUMBER( value, 'XXXX' ) + TO_NUMBER( '10', 'XX' ), 'FMXXXX' );

查詢1

SELECT * FROM table_name

結果

| ID | VALUE |
|----|-------|
|  1 |   A24 |
|  2 |   B23 |
|  3 |   C25 |
|  4 |   D26 |
|  5 |  100F |

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM