mssql и mysql чувствительны к регистру, как - PullRequest
0 голосов
/ 11 декабря 2018

Я должен выбрать все строки, где определенное поле начинается с 'z', но не с 'Z', и запрос должен работать как с mysql, так и с mssql.

Я могу написать запрос отдельно для mssql и mysql, но не могу преобразовать его в уникальный запрос для работы с обеими базами данных.

Я не знаю, возможно ли это привсе.Есть идеи?

1 Ответ

0 голосов
/ 11 декабря 2018

Используйте правильное collation.Например _BIN или с учетом регистра.Поддерживаемые параметры сортировки можно найти в следующем запросе.

SELECT * FROM sys.fn_helpcollations()   
WHERE name LIKE 'sql%latin%CS%' or name like '%BIN';  

и запрос подобный этому

select * from dbo.Categories
where CategoryName collate SQL_Latin1_General_CP1_CS_AS like 'be%'
...