Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Sql проверка поля на русские буквы

284
03 мая 2005 года
michael_is_98
587 / / 25.02.2005
Подскажите, пожалуйста, как отследить, используются ли в поле типа varchar исключительно русские символы.
Просто из БД нужно удалить некорректные записи, в которых поле (Фамилия) не отображается русскими буквами.
259
03 мая 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by michael_is_98
Подскажите, пожалуйста, как отследить, используются ли в поле типа varchar исключительно русские символы.
Просто из БД нужно удалить некорректные записи, в которых поле (Фамилия) не отображается русскими буквами.


Русские буквы имеют коды > 128

284
04 мая 2005 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by AlexandrVSmirno
Русские буквы имеют коды > 128



А как проверку символов поля в записи осуществить?

302
04 мая 2005 года
Sagittarius
648 / / 12.04.2003
Цитата:
Originally posted by michael_is_98
А как проверку символов поля в записи осуществить?


Можно программно выделить такие записи, а потом их снести.
Можно скриптик написать. Какая СУБД?

284
04 мая 2005 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by Sagittarius
Можно программно выделить такие записи, а потом их снести.
Можно скриптик написать. Какая СУБД?


SQL Server 2000. Это хранимая процедура будет или в виде запроса можно оформить?

259
04 мая 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by michael_is_98
SQL Server 2000. Это хранимая процедура будет или в виде запроса можно оформить?


Хранимая процедура.

А ввобще еще лучше задать триггеры OnInsert и OnUpdate и вних менять латинские на раусские. Тогда у тебя в полях всегда русские будут и эта хранимая процедура будет просто не нужна.

284
04 мая 2005 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by AlexandrVSmirno
Хранимая процедура.

А ввобще еще лучше задать триггеры OnInsert и OnUpdate и вних менять латинские на раусские. Тогда у тебя в полях всегда русские будут и эта хранимая процедура будет просто не нужна.


Дело в том, что БД уже есть, ее нужно почистить

259
04 мая 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by michael_is_98
Дело в том, что БД уже есть, ее нужно почистить


Тогда можно на С++ написать програмульку.

284
04 мая 2005 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by AlexandrVSmirno
Тогда можно на С++ написать програмульку.


А через хранимую процедуру можно?
В чем преимущества C++ в этом случае?

259
04 мая 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by michael_is_98
А через хранимую процедуру можно?
В чем преимущества C++ в этом случае?


Хранимая процедура входит в состав БД, а судя по тому, что Вы не хотите задавать триггеры для таблиц, Вы не хотите трогать структуру БД. Программа на внешнем языке программирования никак не затронет структуру базы.

284
04 мая 2005 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by AlexandrVSmirno
Хранимая процедура входит в состав БД, а судя по тому, что Вы не хотите задавать триггеры для таблиц, Вы не хотите трогать структуру БД. Программа на внешнем языке программирования никак не затронет структуру базы.



Я написал небольшую хранимую процедуру (структуру БД не меняет, просто выводит на экран список с фамилиями, в которых встречается неверный символ - '/\.123456789' и т.д.). Хорошо, а как теперь проверить, что в фамилии русские буквы?

284
04 мая 2005 года
michael_is_98
587 / / 25.02.2005
Т.е. зная символ в фамилии определить, что это буква русского алфавита
259
04 мая 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by michael_is_98
Я написал небольшую хранимую процедуру (структуру БД не меняет, просто выводит на экран список с фамилиями, в которых встречается неверный символ - '/\.123456789' и т.д.). Хорошо, а как теперь проверить, что в фамилии русские буквы?


Ну так добавте в список не врных символов латинские буквы, совпадающие по начертанию с русскими.

302
04 мая 2005 года
Sagittarius
648 / / 12.04.2003
Цитата:
Originally posted by michael_is_98
Я написал небольшую хранимую процедуру (структуру БД не меняет, просто выводит на экран список с фамилиями, в которых встречается неверный символ - '/\.123456789' и т.д.). Хорошо, а как теперь проверить, что в фамилии русские буквы?


Чтобы выловить записи, в которых есть русские буквы, можно использовать, например, следующий запрос:

 
Код:
select * from Table1 where Field1 like '%[а-з]%'

Выведет все записи из Table1, где в поле Field1 встречаются буквы от "а" до "з".
284
04 мая 2005 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by AlexandrVSmirno
Ну так добавте в список не врных символов латинские буквы, совпадающие по начертанию с русскими.


А как показать записи, в которых есть английские буквы [a-z] и [A-Z]

259
04 мая 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by michael_is_98
А как показать записи, в которых есть английские буквы [a-z] и [A-Z]


 
Код:
select * from Table1 where Field1 like '%[a-z]%' or Field1 like '%[A-Z]%'
284
04 мая 2005 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by AlexandrVSmirno
 
Код:
select * from Table1 where Field1 like '%[a-z]%' or Field1 like '%[A-Z]%'


Понятно. Спасибо большое.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог