powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Сравнение строк в SQL
7 сообщений из 7, страница 1 из 1
Сравнение строк в SQL
    #37819877
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стандарт SQL говорит, что строки, отличающиеся незначащими символами в хвосте не различаются, то есть строки
"АБ" и "АБ " равны
Вопрос, как же их все таки сравнивать на (не)равенство и больше/меньше? имеется ввиду сравнение с учетом этих хвостов?
И еще: что является незначащими символами, интересует юникод.
С уважением, Naf
...
Рейтинг: 0 / 0
Сравнение строк в SQL
    #37820043
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот нашел - надо к бинарным типам приводить
...
Рейтинг: 0 / 0
Сравнение строк в SQL
    #37820223
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NafА вот нашел - надо к бинарным типам приводитьне знаю, что в этом контексте "бинарный тип" (массив ascii-кодов?, хэш?), но можно использовать вместо равенства оператор like, который чувствителен к пребельным окончаниям (во всяком случае в firebird):
Код: sql
1.
2.
3.
select iif('AB'='AB ', 'match', 'does not match') simple_eq,
       iif('AB' like 'AB ', 'match', 'does not match') like_eq
  from rdb$database


simple_eqlike_eqmatch does not match
...
Рейтинг: 0 / 0
Сравнение строк в SQL
    #37820640
fte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мда....
чего есть под рукой

Microsoft SQL Server 2000 - 8.00.2187 (Intel X86) Mar 9 2006 11:38:51 Copyright (c) 1988-2003
Microsoft Corporation Developer Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
Код: sql
1.
2.
3.
4.
select case 
	when 'ab' = 'ab ' then 'true'
	else 'false'
end as col1


Код: plaintext
1.
2.
3.
col1
--------
true


PostgreSQL 9.1.3 on i686-pc-mingw32, compiled by gcc.exe (GCC) 3.4.5 (mingw-vista special r3), 32-bit
Код: sql
1.
select 'ab' = 'ab ' as col1


Код: plaintext
1.
2.
3.
col1
--------
false
...
Рейтинг: 0 / 0
Сравнение строк в SQL
    #37820644
fte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати какой "стандарт SQL говорит" ?????
SQL-92, SQL/CLI, SQL/JRT, SQL/MED, SQL/OLB, SQL/PSM, SQL/Schemata, SQL/XML
SQL:1999
SQL:2003
SQL:2008, SQLJ
...
Рейтинг: 0 / 0
Сравнение строк в SQL
    #37820886
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не знаю какой, дилетант, признаю
проверил в MS SQL b Firebird

Код: sql
1.
2.
3.
select iif('AB'='AB ', 'match', 'does not match') simple_eq,
       iif('AB' like 'AB ', 'match', 'does not match') like_eq
  from rdb$database

хорошо конечно, но как на больше меньше быть?

бинарные типы... в MS SQL binary, в Firebird BLOB
...
Рейтинг: 0 / 0
Сравнение строк в SQL
    #37825518
karioth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может поможет функция RTRIM в Sql Server?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Сравнение строк в SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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