|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Hell'0 W0RLD! :) Есть таблица с кучей строк - наименования препаратов от разных поставщиков , Сводный прайс поставщиков(СПП). 35000 строк И есть таблицы - номенклатурный справочник предприятия(НСП). 5 000 строк Необходимо для каждой позиции из НСП найти все аналоги из СПП, если они есть. Проблема заключается в том, что каждый поставщик использует свой стиль написания наименований. Вот пример из СПП, где один препара имеет несколько написаний: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Т.о. приходится решать задачу унификации написания наименований. Если сокращения я еще могу исправить - напишу запрос для каждого поставщика, где буду исправлять "таб", "табл", "тб." на "таблетка"(или ампула, флакон, крем, гель и т.п.), то с цифрами ГОРАЗДО сложнее - как видно из примера, даже Номер все пишут по-разному (Х50, N50, №50), не говоря уже о разделителе дробной части (, или . ) и дозировке ( 50 МГ, 0,05 Г) И еще есть проблема порядкового следования - у одного идет 0,05 и потом ТАБ, а у другого наоборот. --- Сначала мне казалось, что replace, patindex, charindex меня спасут... Но когда я накорябал 200 строк одних реплейсов и кол-во уникальных записей упало с 35 до 32 тыс, я понял - неправильным путем иду. Может кто-то решал подобную задачу, мож у кого есть свежие идеи или ссылки на свежие идеи... Хелп... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2004, 15:07 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Только вручную. Или потребуйте от поставщиков критерий - пусть шлют артикул какой-нибуть. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2004, 15:57 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
первое уточнение - поставщики плевать хотели на мои требования - "мы не станем менять справочники из-за такой мелочи". второе уточнение- сейчас я решаю задачу именно ручным методом. Но если мне удасться автоматически уменьшить кол-во неидентичных записей до меньшего, чем в НСП, то это уже успех, т.к. можно уже выставлять соответсвия в обратную сторону, а это много быстрее... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2004, 16:32 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
У каждого поставщика свой справочник? Так составьте таблицу соответствия. А вообще на лекарства (я правильно понял, это лекартсва) существует вполне едиообраный способ написания - так как они внесены в реестр Минздрава. Всё остальное - от лукавого. ___________________ Всё вышеизложенное есть моё частное мнение и не претендует на полноту изложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2004, 16:38 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Можно попробовать функцию нечеткого сравнения, в инете где-то болтается. на входе две строки на выходе степень схождения если ну очень надо, а искать лень - могу скинуть ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2004, 16:53 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Ваша проблема очень хорошо рассмотрена в топике "Убей двойника". Там речь немного о другом, но смысл тот же. Если вкратце -- человеческие ошибки придется исправлять человекам, вы можете лишь ускорить этот процесс с помощью крутых алгоритмов подбора вероятных двойников. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2004, 16:54 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Еще можете попробовать функцию DIFFERENCE, она только для латинских букв, но не в этом проблема. Она очень грубая, толку никакого... Если решитесь попробовать, могу Вам кинуть свою функцию замены русских букв на латинские. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2004, 17:02 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Отвечу всем по порядку. 1. Chuveljov AndrewУ каждого поставщика свой справочник? Так составьте таблицу соответствия. А вообще на лекарства (я правильно понял, это лекартсва) существует вполне едиообраный способ написания - так как они внесены в реестр Минздрава. Всё остальное - от лукавого. Представляете себе 35 000 раз выставлять соответсвия? Я почти так и делаю, но это же гемор невообразимый! А насчет реестра Минздрава - да, я тоже эту мантру знаю и повторяю ее. Но реальность такова, какой ее чувствует орган, а не какой изображает фотография :)) 2. r2d2Можно попробовать функцию нечеткого сравнения, в инете где-то болтается. на входе две строки на выходе степень схождения если ну очень надо, а искать лень - могу скинуть Это дело я долго изучал - не годится. Дело в том, что для этой функции разница в номере (№10, №20) равнозначна разнице в написании номера (№10, Х10) Что не есть гут. Николай МВВаша проблема очень хорошо рассмотрена в топике "Убей двойника". Там речь немного о другом, но смысл тот же. ... Еще можете попробовать функцию DIFFERENCE, она только для латинских букв, но не в этом проблема. Она очень грубая, толку никакого... Надо посмотреть. Только это не ошибки. А Difference здесь никак. --- Мне ведь что надо? Разобрать строку, выделить из нее лексемы и занести их в другие поля. А потом собрать строку из этих полей. В итоге я просто Напишу Select Имя+ФормаВыпуска+Дозировка+Номер+Остальное From MySuperTable Вот дожить бы до "В итоге"... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2004, 17:26 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Grigoriyпервое уточнение - поставщики плевать хотели на мои требования - "мы не станем менять справочники из-за такой мелочи". Им не нужно менять справочники, у них уже есть свои идентификаторы товаров, и нужно всего-лишь попросить их прислать. Обычно это так. Разве-что поставщики ваши - челноки, везущие аспирин по таблетке. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2004, 17:37 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Ай мин, что ДАЖЕ если они будут присылать свой артикульный номер - какая мне разница? Ну придется сопоставлять артикульные номера, которые у каждого свои. Жэто еще хуже. ЕДИНЫЙ НОМЕР не используется. Такова правда жизни. Таковы программы отсылки прайсов на той стороне. wBr Grigoriy Gruben ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2004, 17:40 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
GrigoriyАй мин, что ДАЖЕ если они будут присылать свой артикульный номер - какая мне разница? Ну придется сопоставлять артикульные номера, которые у каждого свои. Жэто еще хуже. ЕДИНЫЙ НОМЕР не используется. Такова правда жизни. Таковы программы отсылки прайсов на той стороне. wBr Grigoriy Gruben Разумеется, ЕДИНЫЙ НОМЕР не используется. Нужно сделать таблицу соответствий НСП артикульным номерам по поставщикам. Для каждого товара - список записей артикул+код_поставщика. Далее при импорте (обновлении прайсов) они будут обновляться по этим номерам. Новые товары, для которых сопоставления нет, будете заносить вручную. Первичная привязка - тоже вручную. Других вариантов всё-равно нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2004, 18:14 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
"Первичная привязка - вручную." В этом то и проблема... Т.е. механизмов, позволяющих? к примеру, вырезать из строки цифры между % и стоящей ранее ^ нет? Только средствами дельфей смогу? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2004, 09:21 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Вот уже обсуждали подобное: http://www.sql.ru/forum/actualthread.aspx?tid=89526&hl=%e0%f1%ef%e8%f0%e8%ed ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2004, 09:58 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Grigoriy"Первичная привязка - вручную." В этом то и проблема... Т.е. механизмов, позволяющих? к примеру, вырезать из строки цифры между % и стоящей ранее ^ нет? Только средствами дельфей смогу? Почему, кое-какие есть, хотя на дельфях проще. А ещё проще с регулярными выражениями, если вы с ними работали. Можно сделать предварительную обработку, 80-90 % обработается правильно. Но всё-равно нужно будет вручную всё проверить. В MSSQL для работы со строками см. PATINDEX и SUBSTRING. Кстати, для этой обработки можно создать правила лдя каждого поставщика отдельно, если их немного и если каждый поставщик использует строго определённое написание, скажем, если у одного всегда 50МГ, а у другого всегда 0.05Г. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2004, 11:19 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
насчет patindex и т.д. - см первый постинг темы :) Насчет раздельного форматирования- именно так я и поступлю 10 постащиков - не проблема ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2004, 12:23 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
по поводу регулярных выражений... есть в серваке механизмы, позволяющие мне вместо реплейса Х1 Х2 Х3 использовать более короткую форму типа replace(ИМЯ, 'Х[0-9]','№[0-9]') ? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2004, 13:44 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
для спящего время бодрствования равносильно сну ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2004, 14:11 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
patindex не работает в этой функции ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2004, 15:19 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
у меня "Х" англицкая для спящего время бодрствования равносильно сну ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2004, 15:23 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
...Что неудивительно при Ха напечатанном буквой Икс :) wBr Grigoriy Gruben ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2004, 15:23 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Вот что я сделал из вашей функции - с учетом номера в конце строки и другими неожиданностями :) Нормально? Неудобно то, что в Where я тоже юзаю эту функцию - это неверно наверное? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2004, 15:49 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
И еще вопрос можно ли переделать функцию так, чтобы вторым парметром шел не просто символ (Х или N), а набор символов, который может означать номер? Например, [Х, N, №] wBr Grigoriy Gruben ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2004, 15:59 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
patindex не работает в этой функции Не все что угодно можно использовать в качестве параметров для функций и процедур Например, [Х, N, №] Собственно и [ХN№] ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2004, 16:02 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
с Patindex разобрались, всё ОК А вот с [NХ№] не совсем... set @Symb='[NХ№]' set @p1=patindex('% '+@Symb+'[0-9]%',@s) дает 0 всегда. т.е. [NХ№][0-9] недопустимая конструкция? wBr Grigoriy Gruben ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2004, 16:14 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Сорри за режим чата, но правильно всё же [N,Х,№] wBr Grigoriy Gruben ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2004, 16:16 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Сорри за режим чата, но правильно всё же [N,Х,№] BOL - LIKE [ ] - Any single character within the specified range ([a-f]) or set ([abcdef]). Example LIKE 'abc[def]' - Means abcd, abce, and abcf ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2004, 16:48 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Всё верно, а у меня либо Х50, либо №50, либо N50 Значит через запятую, тем более у меня сработало :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 09:01 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4.
для спящего время бодрствования равносильно сну ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 09:05 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Да, у меня тоже...странно... Но ладно, теперь я буду дозировку искать, там сложнее - МКГ, МГ, Г и МЛ стоят сзади цифры. reverse помог ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 09:58 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Всё верно, а у меня либо Х50, либо №50, либо N50 Значит через запятую, тем более у меня сработало :) Запятая в вашем случае означает что будут искаться варианты Х50 №50 N50 и ,50 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 10:11 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Да, у меня тоже...странно... Но ладно, теперь я буду дозировку искать, там сложнее - МКГ, МГ, Г и МЛ стоят сзади цифры. reverse помог By the way Я бы для начала распарсил строку на лексемы. Каждой лексеме сопоставил бы еще скажем так глобальную лексему, т.е. все МКГ, МГ, Г и МЛ свел к лексеме ну скажем МГ. А вопрос о совпадение наименований решал бы на основе того, сколько лексем из конкретного имени совпадает с минимально допустимым для данного имени. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 10:23 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Glory Я бы для начала распарсил строку на лексемы. так я и хочу сделать уже 4 месяца :)) Glory Каждой лексеме сопоставил бы еще скажем так глобальную лексему, т.е. все МКГ, МГ, Г и МЛ свел к лексеме ну скажем МГ. Так и сделаю - мкг превращу в граммы, мг тоже в граммы. Из-за того, что некоторые поставщики пишут граммы без Г - 1.0 и всё. Glory А вопрос о совпадение наименований решал бы на основе того, сколько лексем из конкретного имени совпадает с минимально допустимым для данного имени. Ой, вот тут фиг его знает... Я хочу вообще полного совпадения достичь...Но есть мусор типа точки-запятые, думаю 500-1000 преобразований мне гарантированы. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 11:16 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
так вы разбирайте по несколько заходов... в первый заход находятся жестко определенные лексемы... а за второй то что осталось... и куда это можно присобачить... а лексемы хранить в той же таблице... поля небольшого размера... для спящего время бодрствования равносильно сну ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 11:19 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
так я и хочу сделать уже 4 месяца :)) Ну так в чем проблема? Принимаем что разделить лексем - это пробел. Определяем список шумовых симвоов/слов. И вперед ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 11:37 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Я поступил несколько иначе - я заменил пробел, точку, запятую косую на ^символ^ Т.о. слова гарантированно разделены крышками ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2004, 12:39 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Поднимаю тему еще по одному вопросу: как мне сделать множественный реплейс типа заменить "таб.", "табл." на "таблетка"? делать 2 реплейса или есть возможность одним? и второе - тут вы сказали, что если я пишу [АБВ], то имеются ввиду буквы А, Б и В. А если надо сочетания найти? Типа [ТАБЛ, ТАБ] и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2004, 17:17 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
для спящего время бодрствования равносильно сну ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2004, 17:31 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
таблица в кач-ве аргумента? Хм... wBr Grigoriy Gruben ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2004, 13:23 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
не выходит каменный цветок Вот функция: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Код: plaintext 1. 2.
Код: plaintext 1. 2.
А если больше одной строки - то не меняет. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2004, 17:01 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
дополнение - изменения происходят только согласно последней паре. Т.е. @ меняется, а (*) нет wBr Grigoriy Gruben ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2004, 17:14 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
А можно использовать как аргумент функции таблицу? CREATE FUNCTION dbo.fn_ReplaceTrash(@Where char(255), @Tab Table) не прокатило wBr Grigoriy Gruben ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2004, 17:51 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Может я не прав, но мне кажется, что можно разложить имя на составляющие. После разглядывания примера названий лекарств приходит желание их систематизировать по категориям. Ведь каждое слово названия относится к определенной категории (вес, производитель, название). Разделить на слова можно пробелами, табуляторами переводами каретки и проч., что у Вас может оказатся. Составляем список категорий +1 на мусор. делим строку на слова. У каждой категоии есть маска, проверяем и относим слово к одной или нескольким категориям. Просматриваем список категорий, там, где есть дублирование, разбираемся вручную. Просматриваем список того, что не вошло никуда, дополняем маски категорий. В идеале должно остаться только небольшое кол-во исключений, из-за дублирования одних лексем в разных категориях. Карегориможно связать с поставщиками, если они используют одинаковую аббревиатуру во всех наименованиях у себя. Но это сильно увеличит объем ручных работ. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2004, 20:09 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Именно этим я щас и занят. Есть проблемы - например некоторые дозировки указаны без граммов, придется ломать голову над этим. Но вопрос для меня - как использовать в кач-ве входного параметра функции таблицу. Хочу сделать таблицу ("что менять", "на что менять") и давать ее в кач-ве входного параметра. Можно ли это? wBr Grigoriy Gruben ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2004, 20:31 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Возникло еще два вопроса: 1.Можно ли использовать функцию внутри себя (рекурсия) 2. Может ли быть таблийца входным и выходным параметром функции. Если да на оба, то это здорово wBr Grigoriy Gruben ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2004, 21:43 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
по поводу таблицы замещения, эту фичу можно использовать только для переменных, для таблиц она не подходит, потому как каждая строка сопоставляется с каждой... таким образом замещается или (*) или @ как аргумент использовать нельзя, в функциях можно работать только с табличными переменными. рекурсию использовать можно, но вложенность не более 32 уровней. таблица выходным параметром быть может, входным нет. БОЛ Create Function. теперь по функциям... заведите постоянную таблицу замещения, в функции ей можно будет пользоваться... функция получается такая Код: plaintext 1. 2. 3. 4. 5. 6. 7.
таблица Код: plaintext 1. 2. 3. 4.
Код: plaintext 1. 2.
и на последок если добавите Код: plaintext
Код: plaintext
для спящего время бодрствования равносильно сну ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2004, 07:56 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Алексей2003рекурсию использовать можно, но вложенность не более 32 уровней. Да, эту месагу она мне выдала, но так и не вышло у меня использовать рекурсию. Я хотел заменять зяпятые на точки в местах, где и слева и справа - цифры. Написал функцию: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Алексей2003 ... для того чтобы дошло, нужно я предполагаю добавить колонку в TrashSymb ord, которая будет указывать порядок при выборке в функции Разве того порядка, который в самой таблице - недостаточно? Я имею ввиду порядок добавления. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2004, 10:30 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
1. еще раз говорю, что чтобы обновлялась не только на первом вхождении, нужно присваивать значение тойже переменной, которую используете (строковая) справа от знака равенства 2. может и не хватит =\ может выбрать записи в той последовательности, в которой ему удобно... (с точки зрения быстродействия) зачем анализировать, что это первая запись, это вторая... если таблица больше одной страницы, то в принципе они могут чередоваться. для спящего время бодрствования равносильно сну ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2004, 10:51 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
set @p1=patindex('%[0-9]'+@Symb+'[0-9]%',@s) Как же тут присвоить то? Я ж число в рез-те получу, а не строку. wBr Grigoriy Gruben ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2004, 11:59 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
а пример функции с рекурсией? там нет рекурсии на нее саму :) или я чего недопонял для спящего время бодрствования равносильно сну ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2004, 12:01 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Вот как я хотел: Create Function dbo.fn_Cup2Dot (@S varchar(255)) returns varchar(255) as Begin declare @p1 int declare @Symb varchar(1) declare @retu varchar(255) set @Symb=',' set @p1=patindex('%[0-9]'+@Symb+'[0-9]%',@s) if @p1>0 begin While dbo.fn_Cup2Dot (@retu)<>@retu begin set @retu= substring(@s,0, @p1+1)+'.'+substring(@s,@p1+2, Len(@s)-@p1+3) set @p1=patindex('%[0-9]'+@Symb+'[0-9]%',@s,@p1+1) end end else begin set @retu=@S end Return @Retu End Go wBr Grigoriy Gruben ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2004, 12:33 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
для спящего время бодрствования равносильно сну ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2004, 14:37 |
|
Приведение таблицы строк к единому виду, помогите плиз
|
|||
---|---|---|---|
#18+
но тут и рекурсия не нужна... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
для спящего время бодрствования равносильно сну ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2004, 14:39 |
|
|
start [/forum/topic.php?all=1&fid=46&tid=1796987]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
85ms |
get tp. blocked users: |
1ms |
others: | 254ms |
total: | 418ms |
0 / 0 |