Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Выбрать слева до второго встречающегося символа  [new]
Мордор Держимордов
Member

Откуда:
Сообщений: 953
У меня такая штука...

Есть поле. Там лежит что то вроде такого:


NO_BU_7645_7645_sdfsdgfsdgh
NO_EN_7645_7645_sdfsdjfsjklhksjfgksdk
NO_VD_7645_7645_sdfjsdhfhsdgf
NO_MURUKI_7645_7645_sdfjsdhfhsdgf

И соответственно мне из этого надо получить:

NO_BU
NO_EN
NO_VD
NO_MURUKI

Возможно это в селекте или надо через курсор? Что то я под конец дня вообще никакой...
21 дек 11, 11:32    [11801457]     Ответить | Цитировать Сообщить модератору
 Re: Выбрать слева до второго встречающегося символа  [new]
Мордор Держимордов
Member

Откуда:
Сообщений: 953
Мордор Держимордов,

Хелпъ.
21 дек 11, 11:54    [11801690]     Ответить | Цитировать Сообщить модератору
 Re: Выбрать слева до второго встречающегося символа  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
WITH CTE AS
(
 SELECT * FROM
 (VALUES
   ('NO_BU_7645_7645_sdfsdgfsdgh')
  ,('NO_EN_7645_7645_sdfsdjfsjklhksjfgksdk')
  ,('NO_VD_7645_7645_sdfjsdhfhsdgf')
  ,('NO_MURUKI_7645_7645_sdfjsdhfhsdgf')
  ,('AAA_BBB')
  ,('CCCCC')
 )T(S)
)
SELECT S, ISNULL(LEFT(S,NULLIF(CHARINDEX('_',S,NULLIF(CHARINDEX('_',S),0)+1),0)-1),S)
FROM CTE;
Так?
21 дек 11, 11:56    [11801711]     Ответить | Цитировать Сообщить модератору
 Re: Выбрать слева до второго встречающегося символа  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
Мордор Держимордов
Что то я под конец дня вообще никакой...
Какой день имеется в виду?
21 дек 11, 11:57    [11801728]     Ответить | Цитировать Сообщить модератору
 Re: Выбрать слева до второго встречающегося символа  [new]
Мордор Держимордов
Member

Откуда:
Сообщений: 953
iap
Мордор Держимордов
Что то я под конец дня вообще никакой...
Какой день имеется в виду?


Рабочий... Я как бы возле Японии живу
21 дек 11, 12:01    [11801764]     Ответить | Цитировать Сообщить модератору
 Re: Выбрать слева до второго встречающегося символа  [new]
Мордор Держимордов
Member

Откуда:
Сообщений: 953
iap
WITH CTE AS
(
 SELECT * FROM
 (VALUES
   ('NO_BU_7645_7645_sdfsdgfsdgh')
  ,('NO_EN_7645_7645_sdfsdjfsjklhksjfgksdk')
  ,('NO_VD_7645_7645_sdfjsdhfhsdgf')
  ,('NO_MURUKI_7645_7645_sdfjsdhfhsdgf')
  ,('AAA_BBB')
  ,('CCCCC')
 )T(S)
)
SELECT S, ISNULL(LEFT(S,NULLIF(CHARINDEX('_',S,NULLIF(CHARINDEX('_',S),0)+1),0)-1),S)
FROM CTE;
Так?



Круто. Спасибо. Я то думал есть какая то хитрая функция типа найти позицию такой то символа найденного такое то количество раз.
21 дек 11, 12:06    [11801805]     Ответить | Цитировать Сообщить модератору
 Re: Выбрать слева до второго встречающегося символа  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
Мордор Держимордов
Я как бы возле Японии живу
Острова им не отдавайте!
21 дек 11, 12:16    [11801883]     Ответить | Цитировать Сообщить модератору
 Re: Выбрать слева до второго встречающегося символа  [new]
Мордор Держимордов
Member

Откуда:
Сообщений: 953
iap
Мордор Держимордов
Я как бы возле Японии живу
Острова им не отдавайте!


А кто будет не отдавать?
Белые люди разъезжаются кто куда (Какнада,Австралея, Н.З., Китай...) - остаются военные, барыги, пенсы, ну и гастеров к нам завозят столько что иногда в автобусе едешь а их больше половины. Через 20 лет тут хер пойми чего будет, так подозреваю что сольёмся с Китаем.

Но в любом случае : возрождение Рассеи начнётся с Востока(ага, когда Япония потонет и как евреям нарежут участок земли и назовут его автономная японская область)

Ладно оффтоп...
22 дек 11, 02:22    [11806646]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить