2011-03-17 154 views

回答

16

是的,就像你一样。为什么在这里问,而不是问数据库,你会得到正确的答案。

发生什么事情是你要求一个表达。一个非常简单的表达式只是一个列名,一个更复杂的表达式可以包含forumales等。

GJ

10

是的,它是可能的,只要数据类型是兼容的。如果不是,请使用CONVERT()或CAST()

SELECT firstname + ' ' + lastname AS name FROM customers 
+0

这不是如果姓名正确的工作为我的SQLite和姓氏是字符串,但@ user1313900回答你必须用户||连接两列的两个字符串 – ako 2016-07-29 12:00:51

0

是的,你可以很容易地结合起来足够的列如串联字符数据:

select col1 | col 2 as bothcols from tbl ... 

或增加(例如)数字数据:

select col1 + col2 as bothcols from tbl ... 

在这两种的情况下,你最终与单个列bothcols,其中包含所述组合的数据。如果列不兼容,则可能必须强制数据类型。

21

是,

SELECT CONCAT(field1, field2) AS WHOLENAME FROM TABLE 
WHERE ... 

会导致数据集,如:

WHOLENAME 
field1field2 
0

你的语法应该工作,也许colums之间添加一个空格像

SELECT something + ' ' + somethingElse as onlyOneColumn FROM someTable

+0

这只会在某些东西和其他东西都是字符串时才起作用。 – unicorn2 2014-01-23 16:16:24

6

+运营商应该做的伎俩就好了。请记住,如果其中一列为空或没有任何值,它会给你一个NULL结果。相反,将+与功能COALESCE结合,您将被设置。

下面是一个例子:

SELECT COALESCE(column1,'') + COALESCE(column2,'') FROM table1. 

对于这个例子,如果column1NULL,那么column2结果将显示出来,而不是一个简单的NULL

希望这会有所帮助!

15
(SELECT column1 as column FROM table) 
UNION 
(SELECT column2 as column FROM table) 
1

如果列的一个是我所经历过的oracle会觉得“+”的总和操盘级联个数。

如:

select (id + name) as one from table 1; (id is numeric) 

抛出无效数字异常

在这种情况下,你可以||连接的运算符。

select (id || name) as one from table 1; 
+0

是的,这工作正确...好的答案! – ako 2016-07-29 12:00:11

9

上述答案的工作对我来说但这并...

SELECT CONCAT(Cust_First, ' ', Cust_Last) AS CustName FROM customer 
0

我希望这个答案可以帮助:

SELECT (CAST(id AS NVARCHAR)+','+name) AS COMBINED_COLUMN FROM TABLENAME; 
相关问题