Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задачи sql. Подскажите как правильно решить задачу.

yi sir Ученик (87), на голосовании 3 года назад
Подскажите как именно в данном примере удалить, а не заменить на х
Удалить из базового текста 2, 4, 6, 8 слова. */

DECLARE @text VARCHAR(1000)
SET @text = ' Ничего подобного никогда не происходило , '
+' сегодня жизнь повернула события, '
+'как обязательный факт того '
+' что все происходящее реально. '

IF OBJECT_ID('tempdb..#num') IS NULL
BEGIN
SELECT number INTO #num
FROM master..spt_values WHERE type='P' and num-ber0
) w
WHERE Npp in (2,4,6,8)

SELECT ':'+@text+':' updt
Голосование за лучший ответ
Иван Чудин Мыслитель (5921) 3 года назад
выполнение задачи зависит от того, на каком диалекте sql вы решаете, там набор скалярных функций, работающих со строками разный. СУБД какая?
yi sirУченик (87) 3 года назад
Transact SQL в Microsoft SQL Server
Иван Чудин Мыслитель (5921) yi sir, чистого удаления в tsql нет, придется заменять 2, 4, 6, 8 слова на пустую строку REPLACE ( string_expression, string_pattern, string_replacement ) (https://docs.microsoft.com/ru-ru/sql/t-sql/functions/replace-transact-sql?view=sql-server-ver15), для корректности с последующим после них пробелом, если есть. А перед обработкой строку еще лучше привести к единообразию, а то там и пробелы перед запятой и ведущий пробел и в конце (но от них хотя бы избавится просто RTRIM(LTRIM(string_expression)) ).
Похожие вопросы