powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос
6 сообщений из 6, страница 1 из 1
Вопрос
    #32071628
Alex_ran
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день всем!
Кто подскажет как можно заставить SQL различать маленькие и большие буквы при работе со строками?
...
Рейтинг: 0 / 0
Вопрос
    #32071633
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если это нужно всегда и для всех таблиц (что мало вероятно), то при установке сервера нужно указать Dictionary order, case-sensitive.

Можно это проделать и после установки

BOL
It is critical that you select the correct sort order when you install SQL Server. If you need to change sort orders after installation, you must rebuild your databases and reload your data.

Если же это надо только для некоторых выборок
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
set nocount on
create table abc (
f char( 4 )
)

go
insert into abc values ('Bca')
insert into abc values ('abc')
insert into abc values ('Abc')
insert into abc values ('bca')
insert into abc values ('aaa')
insert into abc values ('AAA')
go

select f from abc
order by convert(varbinary,f)

go
drop table abc


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
f    
 ---- 
 
AAA 
Abc 
Bca 
aaa 
abc 
bca 
...
Рейтинг: 0 / 0
Вопрос
    #32071634
Alex_ran
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо Cat2.
Я приношу свои извинения, я не совсем корректно поставил вопрос. Уменя сп передает строку к примеру ("Evolution") и мне нужно при сравнении этой строки с той что есть в базе(а в базе к примеру "evolution"), то выдавать сообщение об ошибке, что введеная строка не корректна.
...
Рейтинг: 0 / 0
Вопрос
    #32071670
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
declare @s1 nvarchar( 50 )
set @s1 = N'пИвО'

create table #t(f1 nvarchar( 50 ))
insert #t values(N'Пиво')
insert #t values(N'ПИВО')
insert #t values(N'пИвО')

select * from #t
select * from #t where f1 = @s1
select * from #t where cast(f1 as varbinary) = cast(@s1 as varbinary)

drop table #t
...
Рейтинг: 0 / 0
Вопрос
    #32071683
Alex_ran
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Glory. Все ок.
...
Рейтинг: 0 / 0
Вопрос
    #32071728
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так будет правильнее
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
declare @s1 nvarchar( 50 )
set @s1 = N'пИвО'

create table #t(f1 nvarchar( 50 )collate Cyrillic_General_CI_AI)
insert #t values(N'Пиво')
insert #t values(N'ПИВО')
insert #t values(N'пИвО')

select * from #t
select * from #t where f1 = @s1
select * from #t where f1 = @s1 collate Cyrillic_General_CS_AS

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


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