Gab*_*abe 26 sql sql-server sql-server-2008
我在SQL表中有两列,fooId(int)和fooName(varchar).
有没有办法选择它们作为一列,它们之间有空格?
select fooId + ' ' + fooName as fooEntity
from mytable
Run Code Online (Sandbox Code Playgroud)
他们是不同的类型,所以我得到一个错误.
该字段将直接在Web应用程序的控件中进行数据绑定.
SQL Server 2008
(我是一个sql初学者)
OMG*_*ies 36
字符串连接在数据库之间是不同的,因此有助于了解哪个数据库,因为您需要知道:
SQL Server不会将数字隐式转换为字符串值:
SELECT CAST(fooid AS VARCHAR(10)) + ' ' + fooname
Run Code Online (Sandbox Code Playgroud)
...因此您需要使用CAST(或CONVERT)将数据类型显式更改为基于文本的数据类型.
对于Oracle和PostgreSQL,使用双管连接字符串:
SELECT fooid || ' ' || fooname
Run Code Online (Sandbox Code Playgroud)
对于MySQL,您可以使用CONCAT功能:
SELECT CONCAT(fooid, ' ', fooname)
Run Code Online (Sandbox Code Playgroud)