2011-09-06 70 views
1

假设我有一个查询喜欢:输出一个MySQL格式化字符串

SELECT name FROM product WHERE id = 28; 

结果是“HTC Desire HD的”

我想这个结果与XX字符串中被替换为“我爱XX “,更换后,字符串是”我喜欢HTC Desire HD“

喜欢PHP的printf功能,我可以用MySQL来做那个吗?

+0

这不是ideal.use表示语言如PHP做的格式应该是更好的 – ajreal

+1

@ajreal:看起来差不多的两种方式。类似于查询某人的全名为'SELECT CONCAT(firstName,',lastName)''。除非这只是不好的做法,我不知道(我不是SQL的专家)。 – jadarnel27

+0

是不一样的。格式化的字符串是用于演示文稿让演示语言来做这个工作 – ajreal

回答

4

这将是:

select 'I Like ' || name from product where id = 28; 
在常规SQL

。我不能完全肯定,这将在MySQL工作,除非你已经配置PIPES_AS_CONCAT,但相当于:

select concat ('I Like ', name) from product where id = 28; 

应该罚款。

+1

我认为在MySQL中它是双管道('||'),只要您的数据库设置为“PIPES_AS_CONCAT”模式: - )+1! – jadarnel27

2

Like a CONCAT()

SELECT CONCAT('I Like ',name) 
FROM product 
WHERE id = 28;