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

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

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

...1.1.11.1.51.2.2


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

Код: sql
1.
LEN(Column) - LEN(REPLACE(Column,'.',''))
...
Рейтинг: 0 / 0
Отобрать по критерию
    #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
Отобрать по критерию
    #39681639
Kopelly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,

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


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

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

Bujhm_Cтаблица с данными в которой есть текст с одной точкой и с двумя
...
Нужно отобрать только записи, в которых содержится две точки
...
Рейтинг: 0 / 0
Отобрать по критерию
    #39681732
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
WHERE LEN(REPLACE(val,' ',''))-LEN(REPLACE(REPLACE(val,' ','')),'.','')=2
...
Рейтинг: 0 / 0
Отобрать по критерию
    #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
Отобрать по критерию
    #39681895
Bujhm_C
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iap
Код: sql
1.
WHERE LEN(REPLACE(val,' ',''))-LEN(REPLACE(REPLACE(val,' ','')),'.','')=2



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



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


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

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

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

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

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

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

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


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