我有一个MySQL查询,我在Alpha Anywhere中使用,这是一个数据库应用程序开发工具。这是查询:
SELECT Count(*) AS Expr1 FROM timelines
WHERE CaseName = :whichcases AND
Custodian = :whichcustodians AND
Device = :whichdevices
查询工作正常,但我需要在结果中添加一个字符串。例如,如果查询返回 352,133 ,我想添加字符串' Total Records'对于它, 352,133总记录的最终结果。
在发布此问题之前,我尽可能彻底地进行了搜索。我发现很多主题都很接近,但没有一个真正有用。
答案 0 :(得分:1)
我通常更喜欢在应用程序端执行此类操作,但如果您必须在查询中执行此操作,则可以使用concat
函数:
SELECT CONCAT(COUNT(*), ' Total Records') AS Expr1
FROM timelines
WHERE CaseName = :whichcases AND
Custodian = :whichcustodians AND
Device = :whichdevices
答案 1 :(得分:0)
立即做这样的联接:
SELECT concat(Count(*), ' total records') AS Expr1
FROM ...
将在MySql版本中提供二进制结果< 5.5.3(fiddle)。另请参阅concat
上的5.5文档:
返回连接参数产生的字符串。可能有一个或多个参数。如果所有参数都是非二进制字符串,则结果为非二进制字符串。如果参数包含任何二进制字符串,则结果为二进制字符串。数字参数将转换为其等效的字符串形式。这是MySQL 5.5.3中的非二进制字符串。 在5.5.3之前,它是二进制字符串
注意:小提示显示二进制结果,但它在MySql 5.6.21上运行。因此,您可能还需要为其他版本进行解决。
解决此问题的一种方法是打包查询:
SELECT concat(Expr1, ' total records') AS Expr1
FROM (
SELECT Count(*) AS Expr1
FROM timelines
WHERE CaseName = :whichcases
AND Custodian = :whichcustodians
AND Device = :whichdevices
) as sub
或者您可以使用CAST
:
SELECT concat(cast(count(*) as char), ' total records') as Expr1
FROM timelines
WHERE CaseName = :whichcases
AND Custodian = :whichcustodians
AND Device = :whichdevices