Как добавить часть к запросу на основе условий if else в хранимой процедуре

Согласно моему результату тестирования, я хочу проголосовать за обычный_express, предоставленный karim79. (У меня нет достаточной репутации, чтобы проголосовать сейчас!) [/ ​​G0]

Решение от zombat использует слишком много вызовов функций, я даже упрощаю коды. Я использую PHP 5.4 для запуска обоих решений в 100 000 раз, и вот результат:

$str = 'Hello abc, have a nice day abc! abc!';
$pos = strpos($str, 'abc');
$str = substr_replace($str, '123', $pos, 3);

==> 1,85 сек

$str = 'Hello abc, have a nice day abc! abc!';
$str = preg_replace('/abc/', '123', $str, 1);

==> 1,35 сек

Как вы можете видеть. Производительность preg_replace не так уж плоха, как думают многие. Поэтому я предлагаю классное решение, если ваш обычный экспресс не является сложным.

0
задан marc_s 13 July 2018 в 13:04
поделиться

1 ответ

Если вы просто хотите добавить в заказ по предложению, вы можете использовать что-то вроде:

ORDER BY
  CASE WHEN @cName IS NOT NULL 
  THEN ID 
  END DESC
1
ответ дан Sharad Venkataraman 17 August 2018 в 13:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: