13

在表中,2 个字段 ID 为 int,数字为 small int,我想连接这两个字段并显示为字符串

eg: ID = 101 and Number = 9 
output : 101.9 

ID和号码之间要加点吗?如何在 SQL 中查询?

4

2 回答 2

35

您可以将整数字段转换为varchar,然后根据需要将它们连接起来。

DECLARE @ID INT 
DECLARE @Number INT 

SET @ID = 101 
SET @Number = 9  

SELECT CAST(@ID AS VARCHAR(10) ) +'.'+ CAST(@Number AS VARCHAR(10) ) 
于 2013-09-28T13:51:11.553 回答
11

在 SQL 2012(及更高版本)中,我现在发现使用 CONCAT 更容易(性能也更好)

SELECT CONCAT(@ID, '.', @Number) 

任何 NULL 元素都将转换为空字符串,从而防止 NULL 传播,从而不必执行更复杂的操作:

SELECT ISNULL(CAST(@ID AS VARCHAR(10) ), '') +'.'+ ISNULL(CAST(@Number AS VARCHAR(10) ) , '')
于 2018-06-19T08:47:02.650 回答