2011-06-14 39 views
2

我试图用这个声明SQL列添加

SELECT (member_Firstname+''+member_Lastname) AS Name FROM members 

增加两列一列,但它给出了MySQL工作台全0值

+3

如果这是针对mysql的,sql-server不是正确的标记。 sql-server是Microsoft SQL Server的标记。 – 2011-06-14 12:08:31

回答

6
SELECT concat(member_Firstname,'',member_Lastname) AS Name FROM members; 

这应该始终

+0

SELECT DISTINCT concat(member_Firstname,'',member_Lastname)作为名称从成员WHERE名称像'a%'但我得到了像这样的错误在'where子句'中的未知列'名称'你会帮助 – user682417 2011-06-14 12:18:37

+2

你不能使用别名为条件使用完整的功能,如...其中concat(member_firstname,'',member_Lastname)like'a%' – AjayR 2011-06-14 12:20:25

+0

感谢Ajay其工作正常 – user682417 2011-06-14 12:46:23

2

我认为在MySQL中你应该使用CONCAT,如下:

mysql> SELECT CONCAT('My', 'S', 'QL'); -> 'MySQL' 
0
SELECT CONCAT(CAST(int_col AS CHAR), char_col); 

如果任何参数为NULL,CONCAT()将返回NULL。

所以对于例如

SELECT CONCAT(member_Firstname, member_Lastname); 
+1

SELECT DISTINCT concat(member_Firstname,'',member_Lastname)作为名称FROM成员WHERE名称Like' '%'我得到错误,当我执行这个声明说'未知的列名'在'where子句'“ – user682417 2011-06-14 12:21:21

+0

你必须写:WHERE concat(member_Firstname,'',member_Lastname)LIKE'a%'INSTEAD OF名称如'a%' – UltraCommit 2011-06-14 12:34:44

1

添加为数字;对于加入字符串,请使用concat()

SELECT CONCAT(string1,string2,string3,etc) FROM table