none
Фильтр "where" на русском языке RRS feed

  • Вопрос

  • Добрый день!

    Помогите пожалуйста...Сделал простенький запрос, но вот беда..: используя в качестве фильтра "where" значение like '%русские символы%' или = ' русские символы' ....результат возвращается пустым. В таблице сие название однозначно есть....названия написанные на английском отрабатываются в качестве фильтра...SQL Server 2008R2 Standart, collation SQL_Latin_General_CP1_CI_AS....Возможно алгоритм не воспринимает русские названия в качестве фильтров....

    14 января 2014 г. 9:15

Ответы

  • тогда не забивайте голову, вам в такие дебри лучше не лезть... просто знайте что есть типы которые хранят данные в обычном формате и в Юникоде... для юникода используется префикс N

    и значение имеет разный размер...как пример:

    select convert( varbinary(16),  'Привет' ) as vabinary_code
         , convert( varbinary(16), N'Привет' ) as vabinary_code_N;  


    http://www.t-sql.ru

    • Помечено в качестве ответа futsal 14 января 2014 г. 11:11
    14 января 2014 г. 11:08
    Отвечающий

Все ответы

  • 1) какой тип поля?

    2) какой коллейшин у этого поля?

    3) замените ваш поиск на "where" значение like N'%русские символы%'


    http://www.t-sql.ru

    14 января 2014 г. 9:52
    Отвечающий
  • 3) замените ваш поиск на "where" значение like N'%русские символы%'

    помогло))))) а почему так?)))

    14 января 2014 г. 10:29
  • а почему так?)))

    на первые 2 вопроса я ответ не увидел...а задавались они не просто для кол-ва


    http://www.t-sql.ru

    14 января 2014 г. 10:45
    Отвечающий
  • 2) коллейшн поля...хмммм.....колейшн базы сказать могу - SQL_Latin_General_CP1_CI_AS

    1) тип поля - скорее символьный (это поля таблицы SCCM c данными инвентаризации рабочих станций)...есть ли какой-то инструмент, который позволяет четко определить тип поля? если коллейшен применительно ко всей базе задан, я так понимаю, приминительно к полю он будет естесственно тот же... 

    14 января 2014 г. 10:53
  • тогда не забивайте голову, вам в такие дебри лучше не лезть... просто знайте что есть типы которые хранят данные в обычном формате и в Юникоде... для юникода используется префикс N

    и значение имеет разный размер...как пример:

    select convert( varbinary(16),  'Привет' ) as vabinary_code
         , convert( varbinary(16), N'Привет' ) as vabinary_code_N;  


    http://www.t-sql.ru

    • Помечено в качестве ответа futsal 14 января 2014 г. 11:11
    14 января 2014 г. 11:08
    Отвечающий
  • спасибо за помощь, Алексей...)
    14 января 2014 г. 11:12