Вот вопрос:Вам нужна помощь SQL
+--------------+
Ships |
+--------------+
Duke of north |
---------------+
Prince of Wales|
---------------+
Baltic |
---------------+
Мне нужно заменить все символы между первым и последним пробелами (за исключением этих пространств) символами звездочки (*). Количество звездочек должно быть равно числу замененных символов.
например: «Герцог Севера» должен быть заменен как «герцог ** Север», Мне удалось отрезать «из» от «Герцога Севера», но я действительно застрял с запасной частью, может любой дайте мне некоторые идеи, изучая SQL в MS SQL Server 2005, пожалуйста, помогите. я не нужен точный ответ просто дать мне некоторые идеи,
select
case when charindex(' ',ship,(charindex(' ',ship,1))+1) > 0
then substring(ship,(charindex(' ',ship,1))+1,((charindex(' ',ship,(charindex(' ',ship,1))+1)) - (charindex(' ',ship,1))))
end "Replace"
from
outcomes
Это не домашнее задание вопрос, учусь SQL.
Итак, если «Герцог Севера» станет «герцогом ** Север», чего вы ожидаете от «Балтики» и «Корабли»? –
CHARINDEX вернет положение первого символа пробела. Вам нужно будет использовать эту функцию дважды, используя местоположение первого экземпляра в качестве отправной точки для второй проверки ... –
Обычно это связано с заменой регулярного выражения, которое на SQL Server 2005+ требует использования функции CLR –