我在SQL表中有两列,即fooId(int)和fooName(varchar)。
fooId
fooName
有没有一种方法可以将它们都选择为一列并在它们之间留一个空格?
select fooId + ' ' + fooName as fooEntity from mytable
它们是不同的类型,所以我遇到了错误。
该字段将直接在Web应用程序的控件中进行数据绑定。
SQL Server 2008
(我有点SQL初学者)
字符串串联在数据库之间是不同的,因此它有助于了解哪个数据库,因为您需要了解:
SQL Server 不会将数字隐式转换为字符串值:
SELECT CAST(fooid AS VARCHAR(10)) + ' ' + fooname
…因此您需要使用CAST(或CONVERT)将数据类型显式更改为基于文本的数据类型。
对于 Oracle和PostgreSQL ,请使用双管道连接字符串:
SELECT fooid || ' ' || fooname
对于 MySQL ,可以使用CONCAT函数:
SELECT CONCAT(fooid, ' ', fooname)