【发布时间】:2019-02-07 22:48:49
【问题描述】:
我需要将一个十六进制数(MAC 地址)加 1。
例如,我有一个这样格式的 MAC 地址:
00:A1:2C:3B:99:1F
而且我需要把这个值加1,并以同样的格式保存新值:
00:A1:2C:3B:99:20
查询:
UPDATE Info
SET MAC = HEXTORAW(TO_CHAR(
TO_NUMBER(SUBSTR(RAWTOHEX(MAC), 1, 20), RPAD('x', 20, 'x')) + 1,
RPAD('fm0', 22, 'X')
)
|| SUBSTR(RAWTOHEX(MAC), 21))
WHERE ID = '';
【问题讨论】:
-
有那个例子的MAC地址,加1后的值是多少?
-
您使用 Oracle 还是 MySQL? (不要标记未涉及的产品...)
-
加1后的值为:00:A1:2C:3B:99:20。我使用甲骨文...
-
如果mac地址以:FF结尾怎么办?
-
就我而言,mac-address 不以 :FF.... 结尾。