sql-server - 如何将英尺和英寸组合成一个组合列
问题描述
结合姓氏和名字对我来说不是问题 - 如上所示。查询很好地吐出来了。但是,在此数据库模式中,英寸和英尺是分开的。当我尝试将它们组合为 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'
解决方案
在 MySQL 中进行连接的正确函数是CONCAT,因此将它用于所有连接。
您的问题只是因为您试图连接保留的 char '
。为了连接单引号,您需要对其进行转义,以便将其加倍。
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
编辑
我刚刚注意到,当它应该是 SQL SERVER 时,您可能已经用 MySQL 标记了您的问题。尽管如此,由于 SQL Server 具有相同的函数CONCAT,因此相同的查询将起作用,请参见此处运行的相同示例:http ://sqlfiddle.com/#!18/9eecb/54309
推荐阅读
- netlify - 我的站点构建在 Netlify 的 CI 环境中失败。我应该怎么做才能调试?
- java - 代码运行了一段时间,然后抛出通信链接失败异常 MySQL
- compression - 是否有单独存储状态的压缩 API?
- html - 在什么时候请求图像文件比内联编码它的 base64 更快?
- django - 在同一个django项目中多次登录
- javascript - 手动触发分配给 reCaptcha 的回调
- c# - MongoDB .NET Fluent 聚合查询
- android - 将分数存储在数组、共享首选项或数据库中?
- git - 是否有限制代码推送到 Git 存储库的首选做法?
- javascript - 在 Google Action Intent 中发送 GET 请求