2017-07-19 6 views
0

問合せ:式がtrueあるとき、私はsubstr(link,3)機能を使用することはできません上記のクエリでSUBSTR()関数

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' 

v=の後に、テーブル内のサブ文字列値linkを取得したいと思います。

上記のクエリでエラーが発生します。ですから、この問題を解決するために私を助けてください。答えは高く評価されます。

答えて

2

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' 
+0

ありがとうございます! – Shihas

+0

@ Shihasあなたの問題を解決した場合、正しい答えを記入することを検討してください。これはあなたの質問に頼っている他のユーザーに役立ちます。 –

+0

上記の回答はすべて正しいです。それを正解とするために、どの回答が最初に投稿されたのか分かりません。あなたが私にそれを正解するように頼んだので、私はあなたの答え(Y)をマークします:D – Shihas

1

文字列を逐次書き直すことはできません。 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' 
+0

ありがとうございます! – Shihas

1

あなたは、2つの文字列を一緒に追加するCONCAT()機能を使用することができます:あなたは文字列を連結する場合、CONCAT()関数を使用する必要がMySQLで

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' 
+0

ありがとうございます! – Shihas