mysql concat两列如果

时间:2014-03-23 11:02:35

标签: mysql sql

我有数据库表,其中包含varchar类型的两列“url”和tinyint类型的“www”,如果url用www前缀指定,则包含1,如果没有,则包含0。

我想在mysql视图中创建一个名为full url的列,其中包含以下等效的c ++代码:

full_url = "http://" + (www == 1 ? "www." : "") + url;

你能帮助我吗?

2 个答案:

答案 0 :(得分:2)

SELECT CONCAT('http://', IF(www = 1, 'www.', ''), url) AS full_url FROM table

答案 1 :(得分:0)

您可以使用CASE

SELECT
(CASE WHEN www == 0 /*if not specified with www then add www*/
THEN CONCAT('http://','www.',url) 
ELSE CONCAT('http://',url) /*url contains www*/
END ) `url`
FROM ...