Вопрос о формате SQL 2005 - PullRequest
       1

Вопрос о формате SQL 2005

1 голос
/ 22 сентября 2010

Привет, ребята. У меня полностью функционирующий запрос, но мне нужно немного отформатировать. Одно из моих полей называется названием маршрута. Примером данных в этом поле является «PRN L5 L7 S LAM C»

Теперь, что мне нужно сделать, это, во-первых, удалить PRN, во-вторых, разбить маршрут на отдельные столбцы, чтобы столбец 1 имел L5, а столбец 2 - L7 и т. Д.

Теперь операции маршрута (L5, L7, LAM) будут иметь 1,2 или 3 символа в произвольном порядке. У кого-нибудь есть идеи?

Ответы [ 2 ]

2 голосов
/ 22 сентября 2010

Вы также можете создать функцию разделения http://www.kodyaz.com/articles/sql-server-t-sql-split-function.aspx

2 голосов
/ 22 сентября 2010

Я бы посмотрел на создание функции CLR, которая использует регулярные выражения.

См. Ссылку: http://msdn.microsoft.com/en-us/magazine/cc163473.aspx

Из статьи:

[SqlFunction]
public static SqlChars RegexGroup( 
    SqlChars input, SqlString pattern, SqlString name )
{
    Regex regex = new Regex( pattern.Value, Options );
    Match match = regex.Match( new string( input.Value ) );
    return match.Success ?
        new SqlChars( match.Groups[name.Value].Value ) : SqlChars.Null;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...