Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Отобрать по критерию / 17 сообщений из 17, страница 1 из 1
31.07.2018, 15:43
    #39681630
Bujhm_C
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отобрать по критерию
Может для кого то вопрос покажется слишком простым, но все же...

Есть таблица с данными в которой есть текст с одной точкой и с двумя
...1.11.21.31.111.1.11.1.51.2.21.4

Нужно отобрать только записи, в которых содержится две точки

...1.1.11.1.51.2.2


Спасибо, кто сможет помочь.
...
Рейтинг: 0 / 0
31.07.2018, 15:45
    #39681631
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отобрать по критерию
Bujhm_C,

Код: sql
1.
LEN(Column) - LEN(REPLACE(Column,'.',''))
...
Рейтинг: 0 / 0
31.07.2018, 15:50
    #39681635
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отобрать по критерию
Bujhm_CСпасибо, кто сможет помочь.

так?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
with data ([val]) as (
select '1.1'  union all 
select '1.2'  union all 
select '1.3'  union all 
select '1.11' union all 
select '1.1.1' union all 
select '1.1.5' union all 
select '1.2.2' union all 
select '1.4')
select val 
from data 
where val like '%.%.%'

...
Рейтинг: 0 / 0
31.07.2018, 15:58
    #39681639
Kopelly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отобрать по критерию
komrad,

Пройдут с количеством точек больше 2.
...
Рейтинг: 0 / 0
31.07.2018, 15:58
    #39681640
Bujhm_C
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отобрать по критерию
авторwhere val like '%.%.%'


Оно! СПС
...
Рейтинг: 0 / 0
31.07.2018, 16:22
    #39681656
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отобрать по критерию
Kopellykomrad,

Пройдут с количеством точек больше 2.
пройдут, согласен, но постановке задачи удовлетворяет

Bujhm_Cтаблица с данными в которой есть текст с одной точкой и с двумя
...
Нужно отобрать только записи, в которых содержится две точки
...
Рейтинг: 0 / 0
31.07.2018, 19:08
    #39681732
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отобрать по критерию
Код: sql
1.
WHERE LEN(REPLACE(val,' ',''))-LEN(REPLACE(REPLACE(val,' ','')),'.','')=2
...
Рейтинг: 0 / 0
01.08.2018, 09:03
    #39681845
Владимир Затуливетер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отобрать по критерию
Код: sql
1.
2.
3.
select t.val
from ( values('1.1'),('1.2'),('1.3'),('1.11'),('1.1.1'),('1.1.5'),('1.2.2'),('1.4'),('1.2.3.4') ) t(val)
where convert(hierarchyid, '/' + replace(val, '.', '/') + '/').GetLevel() = 3
...
Рейтинг: 0 / 0
01.08.2018, 10:58
    #39681895
Bujhm_C
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отобрать по критерию
iap
Код: sql
1.
WHERE LEN(REPLACE(val,' ',''))-LEN(REPLACE(REPLACE(val,' ','')),'.','')=2



Ошибка в коде: Функции replace необходимо 3 аргументов.
...
Рейтинг: 0 / 0
01.08.2018, 11:25
    #39681903
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отобрать по критерию
Bujhm_Ciap
Код: sql
1.
WHERE LEN(REPLACE(val,' ',''))-LEN(REPLACE(REPLACE(val,' ','')),'.','')=2



Ошибка в коде: Функции replace необходимо 3 аргументов.
скобку переставить вы сами не в состоянии?
...
Рейтинг: 0 / 0
01.08.2018, 12:01
    #39681923
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отобрать по критерию
TaPaKBujhm_Cпропущено...


Ошибка в коде: Функции replace необходимо 3 аргументов.
скобку переставить вы сами не в состоянии?Bujhm_C, две скобки, стоящие рядом: переставьте одну из них в самый конец перед "=".
...
Рейтинг: 0 / 0
01.08.2018, 12:02
    #39681924
Shakill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отобрать по критерию
Bujhm_C,

до кучи
Код: sql
1.
2.
3.
select val 
from data 
where parsename(val, 3) is not null
...
Рейтинг: 0 / 0
01.08.2018, 12:06
    #39681931
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отобрать по критерию
Bujhm_C,

при вашей постановке задачи годится и более простой вариант от TaPaK (я его не заметил, когда писал).
Мой же вариант годится для подсчёта количества любого символа в строке с любым количеством пробелов,
ибо пробелы сразу удаляются REPLACEом во избежание побочных эффектов функции LEN()
...
Рейтинг: 0 / 0
01.08.2018, 13:23
    #39681996
Bujhm_C
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отобрать по критерию
iapTaPaKпропущено...

скобку переставить вы сами не в состоянии?Bujhm_C, две скобки, стоящие рядом: переставьте одну из них в самый конец перед "=".

СПС. Все работает. От изобилия ответов растерялся!
...
Рейтинг: 0 / 0
01.08.2018, 13:47
    #39682015
Отобрать по критерию
iapво избежание побочных эффектов функции LEN()Объясните, если не затруднит, о каких побочных эффектах речь, применительно к задаче автора вопроса?
...
Рейтинг: 0 / 0
01.08.2018, 13:56
    #39682023
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отобрать по критерию
Любопытный гость,

Проблема, из-за игнорирования функцией len концевых пробелов, возникнет, например, если строка будет выглядеть так
Код: sql
1.
'1.1 .'
...
Рейтинг: 0 / 0
01.08.2018, 20:50
    #39682249
Отобрать по критерию
invm,

Спасибо.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Отобрать по критерию / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]