由于我是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。
答案 0 :(得分:2)
您可以使用以下命令,将CONCAT
(或CONCAT_WS
)和CAST
用作char:
-- 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
可以合并COUNT(*)
和of users
的结果,而无需CAST
或CONVERT
(显式转换)。
答案 1 :(得分:0)
以下面的方式尝试,它将在下面工作,这是一个示例,而不是您的
SELECT CONCAT(CAST(COUNT(*) AS CHAR(5)), ' of users') FROM Vendor;