1、建表
create table TEST
(ID NUMBER,
NAME VARCHAR2(128),
SEX VARCHAR2(4),
AGE NUMBER(3),
MSG VARCHAR2(1024)
);
2、插入数据
insert into TEST (ID, NAME, SEX, AGE, MSG)values (1, '张三', '男', 30, '亲爱的{name},你好!');
insert into TEST (ID, NAME, SEX, AGE, MSG)
values (2, '李四', '男', 12, '请确认你的年龄是{age}岁吗?');
insert into TEST (ID, NAME, SEX, AGE, MSG)
values (3, '王五', '女', 28, '{name}你好,今年你{age}岁对吗?');
commit;
3、实现结果,把标签替换为对应字段的内容
方法一:
SQL> select t.id,t.name,t.sex,t.age,replace(replace(msg,'{name}',name),'{age}',age) gg from test t;
ID NAME SEX AGE GG
---------- -------------------- ---- ---------- --------------------------------------------------
1 张三 男 30 亲爱的张三,你好!
2 李四 男 12 请确认你的年龄是12岁吗?
3 王五 女 28 王五你好,今年你28岁对吗?
方法二:
select t.id,t.name,t.sex,t.age,regexp_replace(regexp_replace(msg,'{name}',name),'{age}',age) from test t;