2012-08-16 95 views
2

我试图放入一个空格,如果该值不是空白,但它似乎只在我运行查询时输出一个数字?字段值之前的mySQL空间

CONCAT(address, IF(address2 = '', '', ' ' & address2), ' ', city, ', ', state, ' ', zip) AS theAddress 

查询输出上面是:

1234 N. Shore Ave.0 Burbank, CA 41577 

输出应该是这样的:

1234 N. Shore Ave. Apartment 223 Burbank, CA 41577 

什么,我会被错误地在这里干什么?

回答

4

试试这个:

CONCAT(address, IF(address2 = '', '', CONCAT(' ', address2)), ' ', city, ', ', state, ' ', zip) AS theAddress 

我觉得你的代码是什么这是一个逻辑与之间的空格和地址2

+0

太棒了。这工作!感谢pjama! – StealthRT 2012-08-16 15:09:34

+2

不客气! – pjama 2012-08-16 15:10:30

2

我觉得应该是另一个concat&

CONCAT(address, IF(address2 = '', '', CONCAT(' ', address2)), ' ', city, ', ', state, ' ', zip) AS theAddress 
             ^here 

' ' & address2返回0和1(true或false)

+0

我们约翰,逗号不起作用。 – StealthRT 2012-08-16 15:09:49

+1

哦,我忽略了它,它应该是另一个'concat' :) – 2012-08-16 15:12:15