查询显示名称

时间:2014-06-11 19:57:24

标签: sql sql-server tsql

我在SQL Server表中有2列。

一个是像'Attn:firstname lastname'这样的字符,另一列是与该人相关联的数字。

我无法弄清楚如何查询它们以便信息显示为:

Lastname, Firstname - number 

2 个答案:

答案 0 :(得分:1)

如果您在SQL Server中,则可以执行此操作

Select Col1 + ' - ' + Col2
From dbo.{Table}
Where {Conditions}

如果你的意思是你需要删除“attn:”,你可以做这样的事情

Select substring(Col1, 5,len(Col1)-5) + ' - ' + Col2
From dbo.{Table}
Where {Conditions}

答案 1 :(得分:0)

不是硬编码':'的索引,而是可以做这样的事情

SELECT REPLACE(RIGHT(Col1, (LEN(Col1) - CHARINDEX(':', Col1)-1)),' ',', ') + ' - ' + Col2

要测试此功能,您可以运行以下

 DECLARE @column1string AS VARCHAR(30), @column2number AS VARCHAR(10)
 SET @column1string = 'Attn: Firstname Lastname'
 SET @column2number = '12345678'

 SELECT REPLACE(RIGHT(@column1string, (LEN(@column1string) - CHARINDEX(':', @column1string)-1)),' ',', ') + ' - ' + @column2number