在一列中显示两个整数

时间:2014-05-22 15:59:52

标签: sql-server geospatial

我有愚蠢的问题。我有geometry点信息表,我想在一列中选择坐标XYquery 1

的结果
select point.STY ,  point.STX from vertex where id =20

是:

 1 |158 |   361

然而,当我试图让它成为:

select point.STY + ' ' +  point.STX from vertex where id =20

我将158+361概括为int:

1 | 519

我想得到的结果是:

1 | 158 361

任何人都可以给我一个暗示我做错了什么?

2 个答案:

答案 0 :(得分:0)

他们是数字字段,因此数据库假设您想要以数学方式添加它们。强制它将它们视为VARCHAR文本字段,通过使用CAST命令将一种数据类型转换为另一种数据类型,它将按您的要求执行:

SELECT CAST(point.STY AS VARCHAR) + ' ' + CAST(point.STX AS VARCHAR)
FROM vertex
WHERE id = 20

答案 1 :(得分:0)

您需要将INT值CAST为VARCHAR:

select CAST(point.STY AS VARCHAR) + ' ' + CAST(point.STX AS VARCHAR)
from vertex
where id =20