|
v7: Преобразование типа в прямом запросе 77 | ☑ | ||
---|---|---|---|---|
0
Лиза777
18.05.18
✎
08:00
|
У меня условие, что код товара больше тысячи, а код это текстовое поле, как перевести в integer - помогите!
CASE WHEN (Convert(integer,КодТовара) >1000) THEN СуммаПокупки ELSE 0 END) |
|||
1
Лиза777
18.05.18
✎
08:00
|
так не работает
|
|||
2
фросия
18.05.18
✎
08:09
|
ВЫРАЗИТЬ(что-то КАК ЧИСЛО(формат))
|
|||
3
MakaMaka
18.05.18
✎
08:10
|
(0)
If 1С Then Выразить( Строка КАК Число(15,2)) Else Нужен другой форум END |
|||
4
catena
18.05.18
✎
08:11
|
Преобразовать код товара в число до запроса....
|
|||
5
Лиза777
18.05.18
✎
08:15
|
(4) как вы себе это представляете интересно?
|
|||
6
Лиза777
18.05.18
✎
08:15
|
(3) а в прямом запросе так разве работает? сейчас попробую
|
|||
7
Лиза777
18.05.18
✎
08:17
|
(3) Пишет- Выразить не является известным имя встроенной функции.
|
|||
8
Лиза777
18.05.18
✎
08:24
|
это в простом запросе работает, а мне на 1с++ надо
|
|||
9
Йохохо
18.05.18
✎
08:37
|
если последнюю скобку убрать вполне работает
|
|||
10
Лиза777
18.05.18
✎
08:41
|
| SUM (CASE WHEN (Выразить(КодТовара) КАК Число(15,2)) >1000) THEN 1 ELSE 0 END) as тест
не работает так |
|||
11
фросия
18.05.18
✎
08:45
|
со скобками разберитесь
|
|||
12
Йохохо
18.05.18
✎
08:46
|
но почему строки не сравнивать? райт("000000000" + КодТовара, 8) больше "00001000"
(10) я про код в (0), 1с++ на чем? тскл? какой там Выразить? SELECT SUM(CASE WHEN (RIGHT('0000001000',8)>= '00001000') THEN 1 ELSE 0 END) с конверт тоже работает |
|||
13
catena
18.05.18
✎
08:48
|
Видимо, нужно в теме-то указывать, что 77
|
|||
14
Лиза777
18.05.18
✎
08:49
|
convert не получалось - видиом тоже не знаю как правильно написать.
а right 8 как брать может там у меня код будет "12" |
|||
15
Лиза777
18.05.18
✎
08:49
|
(13) аааа!! точно, вот я лопух!
|
|||
16
Йохохо
18.05.18
✎
08:58
|
(14)RIGHT('00000000' + КодТовара,8)
с конверт все верно, смотрите скобки и любые символы кроме цифр в коде |
|||
17
ADirks
18.05.18
✎
09:33
|
(14)
select convert(int, '1000') |
|||
18
Лиза777
18.05.18
✎
10:36
|
написала
| SUM (CASE WHEN convert(int, КодТовара)>1000 THEN 1 ELSE 0 END) as тест пишет ошибку Ошибка преобразования значения varchar " 1EC1 " в тип данных int. |
|||
19
Йохохо
18.05.18
✎
10:37
|
(18) что там с любыми символами кроме цифр?
|
|||
20
Лиза777
18.05.18
✎
10:37
|
не поняла вопрос
|
|||
21
Йохохо
18.05.18
✎
10:44
|
делайте через строки
|
|||
22
Cool_Profi
18.05.18
✎
10:49
|
(18) "Ошибка преобразования значения varchar " 1EC1 " в тип данных int."
Я бы на месте базы данных вылез из сервера и набил бы лицо такому программисту... |
|||
23
Лиза777
18.05.18
✎
11:04
|
(22) вот что вы ругаетесь, не понимаю я если? вы сразу когда родились всё знали и понимали видимо?
|
|||
24
фросия
18.05.18
✎
11:08
|
(23) там же по русски написано что не может преобразовать значиение в число
|
|||
25
Лиза777
18.05.18
✎
11:09
|
(24) я поняла что не может так как я неправильно пишу, что в синтаксисе ошибка
|
|||
26
trad
18.05.18
✎
11:11
|
(18) вероятнее всего в КодТовара у вас не код товара, а идентификатор элемента справочника.
наверно надо использовать поле code, а не id |
|||
27
Лиза777
18.05.18
✎
11:13
|
(26) поняла, спасибо, попробую
|
|||
28
trad
18.05.18
✎
11:15
|
(27) но преобразование в int будет работать только, если в коде действительно только цифры (ну и допускаются пробелы в начале/конце)
|
|||
29
Лиза777
18.05.18
✎
11:17
|
Так у меня и есть code. Вот так в выборе полей стоит:
SELECT ....... | ОЦТовары.Code as КодТовара, ..... |
|||
30
Лиза777
18.05.18
✎
11:17
|
(28) ладно, спасибо.
Данные посмотрю какие там |
|||
31
Лиза777
18.05.18
✎
12:28
|
это я в запросе ошиблась - там два запроса объединяю. Хорошо вы тут обратили внимание на CODE и ID. В одном подзапросе было CODE, а в другом ID. Чёт я....
Спасибо ребята всем!!! |
|||
32
Злопчинский
18.05.18
✎
12:34
|
кстати, в клюшках в чорном запросе в ДБФ версии можно совершенно спокойно просуммировать коды товаров (которые в базе объявлены как текстовые, но забиты цифры). Но этот же чорный запрос на скуле - свалится...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |