pri*_*inn 33 sql select sql-server-2005
是否可以在一个中选择2列并将它们组合起来?
例:
select something + somethingElse as onlyOneColumn from someTable
Dav*_*Fox 30
是,
SELECT CONCAT(field1, field2) AS WHOLENAME FROM TABLE
WHERE ...
Run Code Online (Sandbox Code Playgroud)
将导致数据集如下:
WHOLENAME
field1field2
Run Code Online (Sandbox Code Playgroud)
小智 30
(SELECT column1 as column FROM table )
UNION
(SELECT column2 as column FROM table )
Run Code Online (Sandbox Code Playgroud)
gjv*_*amp 28
是的,就像你做的那样:
select something + somethingElse as onlyOneColumn from someTable
Run Code Online (Sandbox Code Playgroud)
如果你查询了数据库,你就会得到正确的答案.
你要求表达的是什么?一个非常简单的表达式只是一个列名,一个更复杂的表达式可以包含公式等.
Sup*_*Dud 13
是的,只要数据类型兼容,就可以.如果不是,请使用CONVERT()或CAST()
SELECT firstname + ' ' + lastname AS name FROM customers
Run Code Online (Sandbox Code Playgroud)
小智 12
上述答案都不适合我,但这确实......
SELECT CONCAT(Cust_First, ' ', Cust_Last) AS CustName FROM customer
Run Code Online (Sandbox Code Playgroud)
小智 6
该+运营商应该做的伎俩就好了.但请记住,如果其中一列为null或没有任何值,它将为您提供NULL结果.相反,+与功能结合,COALESCE你将被设置.
这是一个例子:
SELECT COALESCE(column1,'') + COALESCE(column2,'') FROM table1.
Run Code Online (Sandbox Code Playgroud)
对于这个例子,如果column1是NULL,则结果column2将显示,而不是简单NULL.
希望这可以帮助!
小智 5
为了完成@Pete Carter的答案,我会在UNION上添加一个“ALL”(如果您需要保留重复的条目)。
(选择列 1 作为表中的列)
联合所有
(选择列2作为表中的列)
DROP TABLE IF EXISTS #9
CREATE TABLE #9
(
USER1 int
,USER2 int
)
INSERT INTO #9
VALUES(1, 2), (1, 3), (1, 4), (2, 3)
------------------------------------------------
(SELECT USER1 AS 'column' from #9)
UNION ALL
(SELECT USER2 AS 'column' from #9)
Run Code Online (Sandbox Code Playgroud)
然后将返回:结果