выбрать все строки НЕ содержащие символов кириллицы

hope1
Дата: 23.01.2013 22:02:56
Как?)
Ennor Tiegael
Дата: 23.01.2013 22:18:53
hope1,

where field1 not like '%[^а-я]%'
Не советую использовать буквально, много дыр. Скорее, пища для размышления.
SIMPLicity_
Дата: 23.01.2013 23:44:14
галка вверх, по-моему, лишняя...

Есличо, я - блондинко
aleks2
Дата: 24.01.2013 06:48:47
Ennor Tiegael
hope1,

where field1 not like '%[^а-я]%'
Не советую использовать буквально, много дыр. Скорее, пища для размышления.

Хреново.

1. Символов кириллицы не так уж многа

-- ну, таблицу понятно надо постоянную
declare @cyr table(c nchar(1) primary key clustered)

insert @cyr
  values (N'a'), (N'б'), ...

select *
from aTable
where not exists( select * from @cyr where  aTable.field1 like '%'+c+'%' )
Ennor Tiegael
Дата: 24.01.2013 08:46:01
SIMPLicity_,

Галка лишняя, согласен.
iap
Дата: 24.01.2013 09:14:50
Ennor Tiegael
hope1,

where field1 not like '%[^а-я]%'
Не советую использовать буквально, много дыр. Скорее, пища для размышления.
[а-я] всегда содержит все символы кириллицы, да?
LIKE '%[абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ]%'
Cygapb-007
Дата: 24.01.2013 09:20:05
-- таблица символов
declare @s nvarchar(200)='АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюяёЁ'
declare @t table(c1 int,c2 int,c3 int,c4 int,c5 int,c6 int) -- 33х2=66/6=11.0
while len(@s)>=1 begin
	insert @t
	select ASCII(SUBSTRING(@s,1,1)), ASCII(SUBSTRING(@s,2,1)), ASCII(SUBSTRING(@s,3,1)), ASCII(SUBSTRING(@s,4,1)), ASCII(SUBSTRING(@s,5,1)), ASCII(SUBSTRING(@s,6,1))
	set @s=SUBSTRING(@s,7,200)
end
select CHAR(c1) a1,c1, CHAR(c2) a2,c2, CHAR(c3) a3,c3, CHAR(c4) a4,c4, CHAR(c5) a5,c5, CHAR(c6) a6,c6 from @t

-- решение
;with myTable as(select * from(values('asdfgh'),('asdЫfg')) tmp(myField))
select * from myTable where myField not like '%[А-яЁё]%'
хотя явное (но длинное) перечисление все же надежнее))
Гость333
Дата: 24.01.2013 11:12:33
Cygapb-007
like '%[А-яЁё]%'

Под это условие попадает разная кириллическая экзотика, типа такого (дальше идёт ASCII-код и символ):
128 Ђ
129 Ѓ
131 ѓ
138 Љ
140 Њ
141 Ќ
142 Ћ
143 Џ
Для типа данных nchar символов будет больше, чем для char. Вопрос, нужна ли автору эта экзотика.

Вот запрос для получения символов, которые like '%[А-яЁё]%' :
+
create database test_cyr collate cyrillic_general_cs_as;
go
use test_cyr;
go
declare @i int;
set @i = 1;
while @i <= 255
begin
   if char(@i) like '[А-яЁё]'
     print cast(@i as varchar(10)) + char(9) + char(@i);
   set @i = @i + 1;
end;
go
use master;
go
drop database test_cyr;
go
Гость333
Дата: 24.01.2013 11:15:45
iap
[а-я] всегда содержит все символы кириллицы, да?
LIKE '%[абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ]%'

А это условие обрабатывает только символы русского алфавита, что в общем случае не равно "кириллице"

В общем, ждём ответа автора, что для него есть "кириллица".
iap
Дата: 24.01.2013 11:22:26
Гость333
iap
[а-я] всегда содержит все символы кириллицы, да?
LIKE '%[абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ]%'

А это условие обрабатывает только символы русского алфавита, что в общем случае не равно "кириллице"

В общем, ждём ответа автора, что для него есть "кириллица".
А что, [а-я] лучше?
Мало того, что в регистрозависимом COLLATE заглавные буквы игнорируются,
так ещё не все русские символы попадают и попадает мусор - в зависимости от COLLATE