2013-04-03 3 views
0

Я получил этот список элементов (это в SQL-скрипт), и я хотел бы изменить порядок его номер:список Reorder пронумерованных элементов с использованием регулярных выражений

от этого:

,user_1 
,user_2 
,user_3 
,name_1 
,name_2 
,name_3 

к этому

,user_1 
,name_1 
,user_2 
,name_2 
,user_3 
,name_3 

Я использую среде SQL Server Management Studio 2008, так у меня есть возможность заменить с помощью регулярных выражений, но я не знаю, если такого рода манипуляций возможно даже с регулярными выражениями.

+0

Я не знаю, что еще находится в вашем инструменте, но регулярные выражения не кажутся подходящим инструментом для задания. – NPE

+0

AFAIK Вы не можете сортировать текст с помощью регулярных выражений –

+0

Ok Спасибо за ваши комментарии Это то, что я хотел знать, но я был не уверен. –

ответ

1

Просто скопируйте их в excel, затем отсортируйте, а затем скопируйте обратно в ssms.

Это так просто :)

+0

+1 Спасибо, но он не отвечает на мой вопрос ^^ –

0

Я думаю, вам нужно добавить немного больше описание для этого действительно имеет смысл. Возможно, пост SQL-скрипт? Эти данные хранятся в одном поле varchar, и именно по этой причине вы ищете решение регулярного выражения?

Вы можете легко разобрать значения, разделенные запятыми, с помощью регулярного выражения, но вам понадобится какая-то другая функция для сортировки этого результата, и он может довольно быстро запутаться, чтобы сделать это в SQL.

В общем, я бы сказал, что эта проблема лучше обрабатывается вне оператора SQL - например. обработайте это на своем любимом языке программирования/сценария после получения результата от SQL.

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

+0

Вопрос не в том, что sql это о регулярном выражении (я думаю, я дал понять). Я спрашиваю, есть ли способ упорядочить этот список с регулярным выражением. В лучшем случае с студией управления сервером sql, но я открыт для использования других текстовых редакторов. –

+0

Привет, Арно, если вы разрешаете использовать регулярное выражение, тогда ответ не будет - это, насколько мне известно, невозможно. После этого вам придется использовать некоторую функцию сортировки, возможно, написанную на заказ, поскольку она не является прямой сортировкой, которую вы ищете, поэтому ответ заключается в том, что вам нужно будет комбинировать регулярное выражение с чем-то другим. Если вы знаете язык программирования/сценариев, это будет очень простое решение. – DanielM

Смежные вопросы