Oracle SQL(PLSQL)我正在编写一个触发器,当table_a.ID上的列被更新时,table_b.IP将使用一个IP地址更新,该IP地址由ID(4位数字)拆分组成,其中前2位数字在第二个八位数中,后2位数字在第三个八位数中。
IP地址始终以以下开头:10.1,IP地址始终以68结尾
我知道如何连接字符串,但我不知道如何在同一声明中拆分和连接
Example:
| ID |
------
|0999|
IP地址应为10.109.99.68
Example:
| ID |
------
|6666|
IP地址应为10.166.66.68
等等
DECLARE
IP_1 VARCHAR2(15) :=
2条答案
按热度按时间gblwokeq1#
您可以将整数
ID
转换为文本,然后使用串联:请注意,我首先将
ID
转换为文本,然后在左填充零,使其长度为4。这种填充是必要的,因为整数实际上没有任何前导零。∮ ∮ ∮ ∮
qgelzfjb2#
您可以使用数字格式将数字转换为字符串:
0
作为必填位置,如果存在,则用该位置上的数字填充,如果不存在,则为零。.
(点)作为组分隔符,使用G
作为组分隔符的占位符。注意:
trim
是必需的,因为第一个位置用空白(空格)填充-非负数的缺席符号。fiddle