作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 mysql 中为 group_concat() 函数使用分隔符。但我想动态更改分隔符。我的意思是分隔符值来自表,并且每一行都不同。
我找不到任何解决方案,请帮助我。
最佳答案
终于找到解决办法了。
假设我们有一些 MySQL 例程。我们需要 GROUP_CONCAT
一些带有特殊 SEPARATOR
的值(默认为 ',')。但是 SEPARATOR
不是静态的,它来自另一个表,例如。来自一些“设置”表。
DECLARE url_delimiter VARCHAR(255);
SELECT catalog_url_delimiter
INTO url_delimiter
FROM settings;
我们不能直接使用变量作为SEPARATOR参数:
-- doesn't work
SELECT GROUP_CONCAT(`some_table`.id SEPARATOR url_delimiter)
FROM <some query>
但是我们可以使用一些虚拟分隔符并将其替换为有效的,如下所示:
SELECT
REPLACE(
GROUP_CONCAT(`some_table`.id SEPARATOR 'some-tricky-dummy-separator'),
'some-tricky-dummy-separator',
url_delimiter
)
FROM <some query>
关于mysql - IN mysql 函数 group_concat 动态更改分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41563093/
我是一名优秀的程序员,十分优秀!