【发布时间】:2019-12-12 17:32:22
【问题描述】:
第一次提问,希望题名没有写错。
我有一个包含用户名字和姓氏的表格。我需要以以下方式填充 USER 行:
- 用户必须以名字的第一个字母,然后是他的全名(全部小写)的形式写入 伊万·霍瓦特 = ihorvat
- 我需要替换符号 č = c, ć = c, š = s
- 如果 USER 重复,则必须添加重复次数(不包括 1 个)
ihorvat, ihorvat2
+----+------+--------+--------+
| id | user | first | last |
+----+------+--------+--------+
| 1 | | Ivan | Horvat |
| 2 | | Matija | Horvat |
| 3 | | Ivan | Babić |
| 4 | |Tomislav| Jurišić|
| 5 | | Ivan | Horvat |
+----+------+--------+--------+
我知道函数,我可以使用函数 LOWER、REPLACE、SUBSTR 等,但我不知道如何将所有这些组合到一个代码中。
【问题讨论】:
-
从我的角度来看,你应该分为你提到的3点。第一个是串联,第二个是替换,第三个是找到重复的用户。您的用户列是否接受非唯一值?
-
@zagvir 你能告诉我们一些基本代码吗?现在,您要求我们帮助您完成作业......
-
我可以把它分成3个点。第一个是 CONCAT(SUBSTR(first, 1, 1), last) 第二个是 REPLACE(REPLACE(user, č, ć)),š, s)... 我不知道如何做最后一点以及如何将它们组合在单个过程/功能中。我刚开始学习 PL/SQL,我了解函数,但我不知道如何组合它们。在哪个模块以及如何。