powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Глюки при поиске в строках
5 сообщений из 5, страница 1 из 1
Глюки при поиске в строках
    #39986719
m830
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обнаружил глюк MS SQL при работе со строками
Имею запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
declare @Txt varchar(100)
select @Txt='островок'

		Select
			[Id],
			[Type],
			[Point],
			lenType=len([Type]),
			lenPoint=len([Point]),
			ws=iif([Type]+[Point]=[Type],'да','нет'),
			ch1=CHARINDEX([Type],@Txt),
			ch2=CHARINDEX([Type]+[Point],@Txt),
			p1=PATINDEX('%'+[Type]+'%',@Txt),
			p2=PATINDEX('%'+[Type]+[Point]+'%',@Txt)
		From [General].[dbo].[AddresСompTypes]
		Where Id=32


А результат ошарашил
Код: sql
1.
2.
Id	Type      Point       lenType     lenPoint	ws	ch1	ch2	p1	p2
32	остров    пусто 	  6	     0	        да	 1	 0	 1	 0


Как к этому относиться, как очередному глюку? Принять как есть и искать решение? Может кто сталкивался с этим глюком
...
Рейтинг: 0 / 0
Глюки при поиске в строках
    #39986741
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
declare @s1 varchar(30) = 'aa', @s2 varchar(30) = '';

select
 '[' + @s1 + @s2 + ']' as [@s1 + @s2],
 @s1 as [@s1],
 @s2 as [@s2],
 iif(@s1 + @s2 = @s1, 1, 0) as [iif],
 charindex(@s1 + @s2, 'aaa') as [charindex];

declare @s3 varchar(30) = 'aa', @s4 char(30) = '';
select
 '[' + @s3 + @s4 + ']' as [@s3 + @s4],
 @s3 as [@s3],
 @s4 as [@s4],
 iif(@s3 + @s4 = @s3, 1, 0) as [iif],
 charindex(@s3 + @s4, 'aaa') as [charindex];
...
Рейтинг: 0 / 0
Глюки при поиске в строках
    #39986744
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m830,

Описание таблицы, версия сервера, какой collation у бд и прочие мелочи было бы неплохо привести.

Пока что - не воспроизводится.
...
Рейтинг: 0 / 0
Глюки при поиске в строках
    #39986752
m830
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решение найдено
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
declare @Txt varchar(100)
select @Txt='островок'

		Select
			[Id],
			[Type],
			[Point],
			lenType=len([Type]),
			lenPoint=len([Point]),
			ws=iif([Type]+[Point]=[Type],'да','нет'),
			ch1=CHARINDEX([Type],@Txt),
			ch2=CHARINDEX([Type]+[Point],@Txt),
			ch2mod=CHARINDEX(Rtrim([Type]+[Point]),@Txt),
			p1=PATINDEX('%'+[Type]+'%',@Txt),
			p2=PATINDEX('%'+[Type]+[Point]+'%',@Txt),
			p2mod=PATINDEX('%'+Rtrim([Type]+[Point])+'%',@Txt)
		From [General].[dbo].[AddresСompTypes]
		Where Id=32


Результат
Код: sql
1.
2.
Id	Type	Point	lenType	lenPoint ws	ch1	ch2	ch2mod	p1	p2	p2mod
32	остров пусто 	6	0        да	1	0	1	1	0	1
...
Рейтинг: 0 / 0
Глюки при поиске в строках
    #39986754
m830
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
select @@VERSION
Microsoft SQL Server 2016 (SP2) (KB4052908) - 13.0.5026.0 (X64)   Mar 18 2018 09:11:49   Copyright (c) Microsoft Corporation  Standard Edition (64-bit) on Windows Server 2012 R2 Standard 6.3 <X64> (Build 9600: ) (Hypervisor) 
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Глюки при поиске в строках
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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