将姓氏和名字组合在一起对我来说不是问题-如上所示。该查询吐出罚款。但是,在此数据库模式中,英寸和英尺是分开的。当我尝试将它们组合为height_feet +'''+ height_inches时,由于明显的原因,我得到了一个错误。结合英尺和英寸的最佳方法是什么,例如,将其读取为6'7。
我尝试过
,height_feet + ''' + height_inches as 'Height'
我也尝试过
,concat(cast(height_feet as char), ''' ', cast(height_inches as char), '"')
都没有帮助我获得理想的结果。我想要的是,如果英尺为5英寸为10,则读数为5'10。
SELECT TOP 10
last_name + ', ' + first_name as 'Employee'
,days as 'Days Employed'
,height_feet
,height_inches
,ROUND(sales, 3) as 'Sales'
答案 0 :(得分:1)
在MySQL中进行串联的正确函数是CONCAT,因此将其用于所有串联。
您的问题仅是因为您试图连接保留的字符'
。为了连接单引号,您需要对其进行转义,以便将其加倍。
SELECT
concat(last_name, ', ', first_name) as 'Employee'
,days as 'Days Employed'
,concat(height_feet, '''',height_inches)
,ROUND(sales, 3) as 'Sales'
from ...
where ...
LIMIT 10 -- "TOP 10" is MSSQL syntax
在此处查看示例:http://sqlfiddle.com/#!9/9eecb/102692
编辑
我刚刚注意到,当MySQL应该是SQL SERVER时,您可能已经用MySQL标记了您的问题。但是,由于SQL Server具有相同的功能CONCAT,因此相同的查询将起作用,请参见此处运行的相同示例:http://sqlfiddle.com/#!18/9eecb/54309