|
Предикат LIKE SQL | ☑ | ||
---|---|---|---|---|
0
devk55
06.03.13
✎
09:26
|
Как с помощью LIKE проверить что в строке только цифры?
|
|||
1
Defender aka LINN
06.03.13
✎
09:28
|
Длина известна?
|
|||
2
pessok
06.03.13
✎
09:31
|
что-то с утра в голове только регекспы крутятся на такую тему... а если в самом запросе, то присоединяюсь к (0)
|
|||
3
Defender aka LINN
06.03.13
✎
09:33
|
Ну, если известна, то просто. Если нет, то разве что что-то типа
Только дофига символов перечислять придется :) |
|||
4
pessok
06.03.13
✎
09:35
|
(3) я все равно не вдуплил в конструкцию...
|
|||
5
devk55
06.03.13
✎
09:35
|
длина не известна ))
|
|||
6
Defender aka LINN
06.03.13
✎
09:37
|
(4) Это условие на то, что строка не содержит букв. Дело портят всякие другие символы, которых чуть более, чем дофига
|
|||
7
pessok
06.03.13
✎
09:42
|
(6) сенькс. надо на досуге покурить работу ПОДОБНО
|
|||
8
pessok
06.03.13
✎
09:42
|
+(7) хотя по сути этож банальный регексп, не?
|
|||
9
devk55
06.03.13
✎
09:46
|
есть идея..вообщем задача вообще звучит так . вывести строки состоящие либо только из цифр либо только из букв латинского алфавита без учета регистра
select model,type from product where (model like '[0-9]' and model not like '[A-z]') OR (model like '[A-z]' and model not like '[0-9]') |
|||
10
dk
06.03.13
✎
09:46
|
конвертнуть в число, обратно и сравнить
|
|||
11
Sammo
06.03.13
✎
09:49
|
(9) Тогда все просто, надо откинуть строки, в которых есть хотя бы 1 символ не символ и не цифра.
+ проверка на ненулевую длину [^] +len |
|||
12
Defender aka LINN
06.03.13
✎
09:54
|
(8) К сожалению, очень примитивный :(
(9) Вернет только строки с длиной 1. Меня тут сомнения затерзали: мы вообще про 1С говорим? |
|||
13
devk55
06.03.13
✎
10:01
|
Тогда выходит так
select model,type from product where model except select model,type from product where model like '%[^0-9a-Z]%' |
|||
14
devk55
06.03.13
✎
10:02
|
но где-то есть маленький недочет
http://www.sql-ex.ru/learn_exercises.php#answer_ref здесь такой запрос не принимается |
|||
15
devk55
06.03.13
✎
10:10
|
пипл
|
|||
16
kiruha
06.03.13
✎
10:17
|
(0)
В SQL можно использовать регулярные выражения http://msdn.microsoft.com/ru-ru/magazine/cc163473.aspx |
|||
17
devk55
06.03.13
✎
10:18
|
Все решил.
select model,type from ( select model,type from product where model not like '' except select model,type from product where model like '%[^0-9]%') AS T UNION ALL select model,type from ( select model,type from product where model not like '' except select model,type from product where model like '%[^A-z]%') AS TT подсказка очень помогла! |
|||
18
kiruha
06.03.13
✎
10:24
|
%[^A-z]%
и причем здесь "только цифры" ? |
|||
19
Sammo
06.03.13
✎
10:26
|
(18) см 9
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |