因为我是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。
发布于 2018-08-13 08:04:45
您可以使用以下方法,使用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;而不是TO_CHAR,您需要使用CAST(... AS CHAR(5))。由于MySQL 8.0,CONCAT可以将COUNT(*)和of users的结果连接起来,而不需要CAST或CONVERT (显式转换)。
发布于 2018-08-13 08:18:06
尝试下面的方式,它将在下面工作是一个例子,而不是直接你的例子。
SELECT CONCAT(CAST(COUNT(*) AS CHAR(5)), ' of users') FROM Vendor;https://stackoverflow.com/questions/51817718
复制相似问题