deeptul Ответов: 1

Sql fuction манипулировать строкой динамически может передавая параметр string необходимо добавить любой символ в заданную позицию строки


у меня есть строка ', 11, 22,aa, cc, dd, 77 '


я передам эту строку этой функции в качестве 1-го параметра 2-й параметр будет позицией, в которую я хочу вставить или добавить запятую, цифру или буквенно-цифровой символ между строками.

пример 'a, b , c , d ,e ,1' - это строка

Fucntioninsertstring ( 'a, b , c , d ,e ,1' , 3, F )

из положить будет ' а, б , Ф, С , D ,Е ,1 '



Что я уже пробовал:

у меня есть функция create, получающая все значения, передаваемые в строке.

но динамически, если я хочу проверить позицию отправки, в которую я хочу вставить любой символ.

и вывод будет обновляться строкой.

1 Ответов

Рейтинг:
2

OriginalGriff

В сущности, вы поступаете неправильно.
Не храните CSV-данные в одном столбце, это становится кошмаром для работы, отчасти потому, что обработка строк SQL-это ... гм ... бедный*, но главным образом потому, что это неправильный способ сделать это.
Когда вы храните данные CSV, вы мешаете SQL делать то, что он делает лучше всего: понимать и манипулировать отношениями между данными - все, что вы получаете, - это небольшое количество возможностей "легкой вставки" в код языка презентации.
Вместо этого создайте отдельную таблицу для хранения каждого элемента CSV отдельно, с внешним ключом обратно к исходной строке таблицы. Таким образом, вставка, удаление, поиск; все они становятся намного проще, а исходные операции вставки, обновления и выбора становятся лишь немного сложнее.


- Вежливо сказал он.