Sql server SQLServerManagementStudio中的连接
我有一个表(Sql server SQLServerManagementStudio中的连接,sql-server,group-by,concat,Sql Server,Group By,Concat,我有一个表(l.loandeterminationscore),它返回一个由3(XXX)组成的结果。我使用下面的查询将该结果分为低范围和高范围,以便将返回的结果分组为一个结果“XXX-XXX” 上面返回的结果如下所示: LoanNumber FICO LowRange HighRange ----------------------------------- 592301428 604 600 619 220300002 640 640 659 414805244
l.loandeterminationscore
),它返回一个由3(XXX)组成的结果。我使用下面的查询将该结果分为低范围
和高范围
,以便将返回的结果分组为一个结果“XXX-XXX”
上面返回的结果如下所示:
LoanNumber FICO LowRange HighRange
-----------------------------------
592301428 604 600 619
220300002 640 640 659
414805244 675 660 679
我正试图将上述FICO
与low-Range
和high-Range
组合成一个20磅的范围。因此,简而言之,我希望它作为一列返回,显示范围为“600-619”、“640-659”、“660-679”,而不是为低范围
和高范围
设置两列
我尝试了CONCAT
表达式,但我不断收到一个“语法”错误。试试这个:
SELECT
l.LoanNumber,
l.LoanDeterminationScore 'FICO',
CAST(FLOOR (l.LoanDeterminationScore / 20) * 20 AS VARCHAR(10)) + '-' +
CAST(FLOOR (l.loanDeterminationScore / 20) * 20 + 19 AS VARCHAR(10)) AS 'Range'
FROM
loan.LoanQA l
WHERE
l.FundedDate = '10/15/2013'
只需将数值转换为字符串类型,用+
连接,就可以了 什么版本的SQL ServerCONCAT
是SQL Server 2012中的一个新命令
SELECT
l.LoanNumber,
l.LoanDeterminationScore 'FICO',
CAST(FLOOR (l.LoanDeterminationScore / 20) * 20 AS VARCHAR(10)) + '-' +
CAST(FLOOR (l.loanDeterminationScore / 20) * 20 + 19 AS VARCHAR(10)) AS 'Range'
FROM
loan.LoanQA l
WHERE
l.FundedDate = '10/15/2013'