因为我是 mysql 的新手。
select concat ((select to_char(count(*)) from users) ,' of users') from dual;
(or)
select concat ((select to_char(count(*)) from users) ,' of users') ;
我期望“100 个用户”作为结果集输出。在oracle中,上述语句可以,但在mysql中不行。我得到的结果值为 1。
最佳答案
您可以使用以下内容,使用 CONCAT
(或 CONCAT_WS
)和一个 CAST
字符:
-- using CONCAT
SELECT CONCAT(CAST(COUNT(*) AS CHAR), ' of users') FROM users;
-- using CONCAT_WS
SELECT CONCAT_WS(' ', CAST(COUNT(*) AS CHAR), 'of users') FROM users;
您需要使用 CAST(... AS CHAR(5))
而不是 TO_CHAR
.自 MySQL 8.0 以来 CONCAT
可以在没有 CAST
的情况下连接 COUNT(*)
和 of users
的结果或 CONVERT
(显式转换)。
关于Mysql - 将字符串与另一个 sql 结果连接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51817718/