Query:
SELECT if(substr(link, 1, 2)='y_', 'https://www.youtube.com/watch?v='substr(link,3), 'https://vimeo.com/'substr(link,3)) as link, `title`
FROM `video`
WHERE `reg_id` = '101'
在上面的查询中,当表达式true
时substr(link,3)
我无法使用该函数。v=
之后,我想在表中获取link
列的子字符串值。
上面的查询触发了一些错误。所以请帮我解决这个问题。答案将不胜感激。
在 mysql 中,如果你想连接字符串,你需要使用 concat(( 函数:
SELECT if(substr(link, 1, 2)='y_', concat('https://www.youtube.com/watch?v=',substr(link,3)), concat('https://vimeo.com/',substr(link,3))) as link, `title`
FROM `video`
WHERE `reg_id` = '101'
不能通过一个接一个地编写字符串来梳理字符串。您必须使用CONCAT功能。
SELECT if(substr(link, 1, 2)='y_', CONCAT('https://www.youtube.com/watch?v=',substr(link,3)), CONCAT('https://vimeo.com/',substr(link,3))) as link, `title`
FROM `video`
WHERE `reg_id` = '101'
您可以使用CONCAT()
函数将两个字符串相加:
SELECT if(substr(link, 1, 2)='y_', CONCAT('https://www.youtube.com/watch?v=',substr(link,3)), CONCAT('https://vimeo.com/',substr(link,3))) as link, `title`
FROM `video`
WHERE `reg_id` = '101'