Предварительный текст в выбранный столбец базы данных на основе первых 4 символов - PullRequest
0 голосов
/ 09 декабря 2011

У меня есть таблица базы данных, в которой указан путь к загруженному изображению. Иногда это изображение указывает на внешний сервер, но иногда это относительный путь, указывающий на тот же сервер.

При создании запроса SQL мне нужно сделать следующую проверку:

  1. Если первые 4 символа пути http, просто верните это
  2. В противном случае предварительно добавьте жестко запрограммированную строку URL к пути

Я изо всех сил пытался сделать проверку IF check и SUBSTRING для работы. Есть идеи?

Ответы [ 3 ]

2 голосов
/ 09 декабря 2011

префиксная строка

select IF(LEFT(column,4) = "http", column, CONCAT("string", column)) FROM table

добавить строку

select IF(LEFT(column,4) = "http", column, CONCAT(column, "string")) FROM table
1 голос
/ 09 декабря 2011

Попробуйте:

select concat(path, case substring(path,1,4) 
                    when 'http' then '' 
                    else hard_coded_url end) 
from 
...
1 голос
/ 09 декабря 2011

Как это?

CASE WHEN LEFT(url, 4) = 'http' THEN url ELSE CONCAT(<your hard-coded url>, url) END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...