Mysql IF语句中的SUBSTR()函数
查询:Mysql IF语句中的SUBSTR()函数,mysql,sql,if-statement,substring,Mysql,Sql,If Statement,Substring,查询: 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列的子字符串值 上面的查
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
列的子字符串值
上面的查询引发了一些错误。所以请帮我解决这个问题。答案将不胜感激。您不能通过逐个书写来梳理字符串。必须使用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'
您可以使用
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'
在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'
在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'
Shihas认为如果解决了你的问题,那么回答一个正确的答案。这有助于其他依赖您的问题获取信息的用户。以上所有答案都是正确的。为了给它打上正确的标记,我不知道哪个答案是最先贴出来的。由于您是要求我更正的人,我将标记您的答案(Y):D@Shihas如果答案是正确的,请考虑正确答案。这有助于其他依赖您的问题获取信息的用户。以上所有答案都是正确的。为了给它打上正确的标记,我不知道哪个答案是最先贴出来的。因为是你让我更正的,所以我会记下你的答案(Y):D