gpt4 book ai didi

mysql - 如何将字段中的最后一个数字更改为相应的值?

转载 作者:行者123 更新时间:2023-11-29 19:27:16 24 4
gpt4 key购买 nike

请在下面找到我已设置的表结构和我正在运行的查询的链接。

CREATE TABLE phpbb_profile_fields_data
(`user_id` int, `pf_firstname` varchar(50),
`pf_lastname` varchar(100),`pf_workarea` varchar(255));

INSERT INTO phpbb_profile_fields_data
(`user_id`, `pf_firstname`, `pf_lastname`, `pf_workarea`)
VALUES
('90', 'Piotr', 'Linski', '1;2;3;5;7;'),
('91', 'Monica', 'Reemers', '1;4;7;'),
('92', 'Lex', 'Zeewen', '2;3;'),
('93', 'Adele', 'Gerven', '7;')
;

SELECT d.pf_firstname, d.pf_lastname, d.pf_workarea,
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(d.pf_workarea, '7;', 'Friesland, ') , '5;', 'Flevoland, ') , '4;', 'Gelderland, ') , '3;', 'Brabant, ') , '2;', 'Limburg, ') , '1;', 'Landelijk, ') AS result
FROM phpbb_profile_fields_data d
ORDER BY d.pf_lastname ASC

Here you can try it online

如果运行查询,您将看到对于每一行,最后一个数字由于某种原因没有转换为相应的值。

  • 这是为什么?
  • 需要进行哪些修改才能将最后一个数字也替换为相应的值?

最佳答案

原因是您替换了例如'7;'与 'Friesland, ',所以当然最后一个没有分号的元素不会被替换。

无论如何,我认为这不是一个聪明的方法,因为如果您必须添加另一个工作场所,则必须更改查询而不仅仅是数据。我会投票赞成生成第二个表,将数字映射到工作场所。然后你可以做一个简单的JOIN。

关于mysql - 如何将字段中的最后一个数字更改为相应的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42051540/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com