|
Запрос SELECT не выбирает часть данных с условием | ☑ | ||
---|---|---|---|---|
0
Corvax46
01.12.14
✎
17:09
|
MS SQL 2005 SP4
Есть запрос: SELECT Field1, Field2, Field3, Field4 FROM Table1 Данные выбираются отлично. Делаю запрос с условием: SELECT Field1, Field2, Field3, Field4 FROM Table1 WHERE LTrim(RTrim(Field3))='TextValue' В результате запроса записей нет. Хотя в запросе без условия такие записи есть. Значение для условия копировал. |
|||
1
ДенисЧ
01.12.14
✎
17:10
|
Условие не подходит. Ваш Кэп
|
|||
2
Wobland
01.12.14
✎
17:11
|
бывает
|
|||
3
Wobland
01.12.14
✎
17:11
|
я бы очки сменил
|
|||
4
pessok
01.12.14
✎
17:12
|
вероятно у тебя таки в полях то без тримов записи
|
|||
5
Corvax46
01.12.14
✎
17:13
|
без тримов тоже пробовал, не выбирает. Беру любую другую запись, пашет... на части - нет. Около 50 записей из 25000 приблизительно
|
|||
6
Ненавижу 1С
гуру
01.12.14
✎
17:17
|
попробуй так:
WHERE Field3 LIKE '%TextValue%' |
|||
7
pessok
01.12.14
✎
17:17
|
тогда проверяй "с" и "c" итп.
|
|||
8
Wobland
01.12.14
✎
17:18
|
(6) "TextValueTextValue" попадёт. что несколько не согласуется с (0)
|
|||
9
pessok
01.12.14
✎
17:19
|
+(7) я помню много секса при загрузке данных из экселя, когда добрые кадровички копипастили данные, а ты в фамилиях откуда-то появлялась латиница
|
|||
10
Corvax46
01.12.14
✎
17:24
|
(6) LIKE не помог
(9) значемние для условия - строка, но используются только цифры (отбор по штрих-коду) |
|||
11
rsv
01.12.14
✎
17:26
|
(10) Нуууу занчится добавить UPPER и.... все символы принудительно на аглицкий патамушта в таблице значение TextValue могут быть символы и на русском
|
|||
12
pessok
01.12.14
✎
17:27
|
(10) ну так с этого и надо было начинать...
колонка в таблице какой тип имеет? |
|||
13
Гёдза
01.12.14
✎
17:29
|
Регистр совпадает?
|
|||
14
Гёдза
01.12.14
✎
17:29
|
Какой collation?
|
|||
15
rsv
01.12.14
✎
17:30
|
т.е. по хорошему должна быть временная (таблица Table1 ) где поле Field3 должно быть уже подготовленным.
|
|||
16
Corvax46
01.12.14
✎
17:36
|
(11) в TextValue только цифры :-(
|
|||
17
pessok
01.12.14
✎
17:40
|
(16) ты не прочитал (12)
WHERE LTrim(RTrim(Field3))='TextValue' как бы намекает, что ты отдаешь ему строку, а в таблице у тебя числа. а теперь вспомни как, например, эксель работает со значениями типа '100200300000' |
|||
18
Corvax46
01.12.14
✎
17:42
|
чар25, не нулл
|
|||
19
pessok
01.12.14
✎
17:43
|
(18) а зачем хранить числовые данные в char?
|
|||
20
Corvax46
01.12.14
✎
17:45
|
(19) База 7.7 на скуле
Это справочник ШК, поле наименование |
|||
21
pessok
01.12.14
✎
17:48
|
(20) ясно. ну тут тогда придется еще как-то проверять на возможные символы переноса строк и нерастяжимого пробела...
для начала попробуй выполнить запрос без фильтра, скопировать значение поля, которое потом надо отобрать, вставить его в where. Если и так не отберет, то хз. Если отберет, значит реально какие-то кривые символы |
|||
22
Ёпрст
01.12.14
✎
17:49
|
если лайк не помог - то либо передаешь в условие хрень, либо в поле нет такого значения, усё.
|
|||
23
SUA
01.12.14
✎
18:05
|
в 7.7 LIKE должен работать
|
|||
24
Corvax46
01.12.14
✎
18:10
|
(21) копипаст в условии не отобрал
Помогает перезапись справочника интерактивная. |
|||
25
DS
01.12.14
✎
18:13
|
(24) Переиндексация таблицы?
|
|||
26
Corvax46
01.12.14
✎
18:19
|
Переиндексация в плановом задании стоит каждую ночь. Выгрузка загрузка не помогла. Причём программная перезапись справочника ШК не помогает то же
|
|||
27
КонецЦикла
01.12.14
✎
18:29
|
Зачем лтрим, ртрим
Наведи порядок в данных, блеать |
|||
28
Jaap Vduul
01.12.14
✎
18:34
|
Скорее всего, наличие спец. символов.Скорее всего, наличие спец. символов.
select cast(Field3 as varbinary(max)) и проверяй, что за символы. |
|||
29
Sj
01.12.14
✎
18:37
|
Вот так делай
|
|||
30
Sj
01.12.14
✎
18:37
|
SELECT Field1, Field2, Field3, Field4 FROM Table1 WHERE LTrim(RTrim(Field3))='TextValu'
SELECT Field1, Field2, Field3, Field4 FROM Table1 WHERE LTrim(RTrim(Field3))='TextVal' SELECT Field1, Field2, Field3, Field4 FROM Table1 WHERE LTrim(RTrim(Field3))='TextVal' и смотри, когда появится результат |
|||
31
Jaap Vduul
01.12.14
✎
18:43
|
(30)
Никогда? |
|||
32
Corvax46
01.12.14
✎
18:43
|
(28) прошу прощения, не понял задумку
(30) нет результата |
|||
33
Sj
01.12.14
✎
18:45
|
SELECT Field1, Field2, Field3, Field4 FROM Table1 WHERE LTrim(RTrim(Field3))='TextVa'
SELECT Field1, Field2, Field3, Field4 FROM Table1 WHERE LTrim(RTrim(Field3))='TextV' SELECT Field1, Field2, Field3, Field4 FROM Table1 WHERE LTrim(RTrim(Field3))='Text' SELECT Field1, Field2, Field3, Field4 FROM Table1 WHERE LTrim(RTrim(Field3))='Tex' ? |
|||
34
Sj
01.12.14
✎
18:48
|
Left(Field3,3)='Tex'
|
|||
35
Sj
01.12.14
✎
18:48
|
чот тупанул...
|
|||
36
Sj
01.12.14
✎
18:48
|
Left(Field3,4)='Text'
|
|||
37
Corvax46
01.12.14
✎
18:51
|
О как...
SELECT [ROW_ID] ,[ID] ,[CODE] ,[DESCR] ,[PARENTEXT] ,[ISMARK] ,[VERSTAMP] ,[SP47585] FROM [danas].[dbo].[SC47587] WHERE LEFT(LTRIM(RTRIM([DESCR])),13) = '3800024935466' Сработало |
|||
38
Jaap Vduul
01.12.14
✎
18:52
|
(32)
Визуально строки '1234567890' и '1234567890' + char(10) выглядят одинаково. Преобразование к varbinary показывает нам коды отдельных символов - среди них не должно быть, например, 0D, 0A Коды цифровых символов с 30 до 39. |
|||
39
Ёпрст
01.12.14
✎
18:55
|
(37) ну давай, огласи результат этого:
SELECT * FROM [danas].[dbo].[SC47587] WHERE DESCR like '%3800024935466%' |
|||
40
Ёпрст
01.12.14
✎
18:56
|
и потом не говори сказки, что лайк у тебя не работает
|
|||
41
Corvax46
01.12.14
✎
19:09
|
(38) спасибо, сейчас гляну
|
|||
42
Corvax46
01.12.14
✎
19:15
|
(38) большое спасибо.... 0D и 0A присутствуют...
|
|||
43
Жан Пердежон
01.12.14
✎
19:24
|
Непечатаемые символы! Кто бы мог подумать...
|
|||
44
trad
01.12.14
✎
20:17
|
(42) при этом like (39) должен работать
|
|||
45
Corvax46
02.12.14
✎
09:41
|
(44) Спасибо, работает.
|
|||
46
DrZombi
гуру
03.12.14
✎
06:48
|
(0) Пробелы есть двух видов, по году 32 и по коду 160
http://easywebscripts.net/html/ascii.php Если ты этого не видишь, то не значит, что его там нет ;) |
|||
47
DrZombi
гуру
03.12.14
✎
06:48
|
+(46) году - Коду
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |