|
|
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Firebird 2.5.2 x64 Есть столбец Model типа VARCHAR(10) пишу параметризированный запрос SELECT Materials.Model FROM Materials WHERE Materials.Model LIKE @Material В @Material передаю допустим %0123456789% и получаю исключение "arithmetic exception, numeric overflow, or string truncation", если написать %01234567% то всё нормально. С одной стороны всё понятно длина того, что я передаю равна 12 символам, а не 10, поэтому и имеет место исключение, но я считал, что знаки "%" в запросах LIKE считаются как служебные и не должны восприниматься как часть строки и не должно быть исключения. Это баг или фича? Если фича то что получается мне надо в базе увеличить столбец на 2 символа для "%"? CONTAINING не могу использовать так как использую ORM и не могу повлиять на то что она генерит, а она генерит именно с LIKE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 10:54:53 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
LazySatyrЭто баг или фича? А это баг или фича искать любое совпадение, при этом явно указав полное соответствие (%0123456789%)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 11:13:51 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
LazySatyrЕсли фича то что получается мне надо в базе увеличить столбец на 2 символа для "%"? А заодно придётся дополнительно проверку добавить на длину введённого, а то получим в конце концов тоже самое если пользователь введёт 12 символов и поиск будет по 12 вести. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 11:23:11 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
wadman, я вроде написал, что передаю значение через параметр @Material который в своё время передаётся из элемента интерфейса через который пользователь ищет материал, а %0123456789% я написал просто для примера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 11:24:37 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, проверка на длину в 10 символов есть и на клиенте и на сервере, но те знаки "%" делают из моей строки 12 из-за чего и ошибка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 11:26:16 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
LazySatyrа %0123456789% я написал просто для примера. И это отличный пример и встречный вопрос как раз по нему. Зачем искать подобное тому, что введено максимально точно? а001аа177 = %а001аа177%? Номер в поиске введен ПОЛНОСТЬЮ. Вообще, такое дело нужно переписывать на ХП и проверять все доступные варианты. Например, если не введен 1 символ, то нужно проверить два вариант: в начале и в конце %. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 11:27:20 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
wadman, зачем писать кучу запросов если этот запрос работает и на полное соответствие и на частичное и работает отлично не считая этой проблемы? Во-вторых я просил такие поведение это баг или фича? Писать в трекер чтобы правили или просто увеличить столбец на 2 символа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 11:30:30 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
LazySatyr, для параметров в выражении вида filed LIKE :param, сервер назначает тип данных такой же, как и у поля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 11:31:23 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
LazySatyr, я имел ввиду, то что если ты сделаешь Model VARCHAR(12), то дополнительно придётся наложить CHECK с проверкой длинны в 10 символов. Иначе никто не помешает ввести пользователю модель длинной в 12 символов. Багом сервера это скорее всего не является, т.к. он проверяет длину любого параметра одинаково не зависимо от того в каком месте он находится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 11:35:34 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, на счёт CHECK согласен. В общем всё оказалось как я и считал изначально, что "filed LIKE :param, сервер назначает тип данных такой же, как и у поля". Всем спасибо, вопрос закрыт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 11:40:34 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
hvladдля параметров в выражении вида filed LIKE :param, сервер назначает тип данных такой же, как и у поля. а для "field SIMILAR TO :param"? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 17:57:47 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
NickDee, а попробовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 18:02:59 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Какого размера мне нужно создать поле IPV4, чтобы не было ошибки? :) И только не говорите что это нормально :) Я конечно знаю, что в текущей реализации нужно писать так: Код: sql 1. Но это... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 18:31:39 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
NickDeeКакого размера мне нужно создать...буфер под параметр ? И почему именно такого ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 18:33:33 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
NickDee, ты реально думаешь что пользователи такие выражения будут посылать на сервер? Ещё как выход использовать EXECUTE BLOCK там у параметра размер можно заранее задать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 18:36:43 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
hvladNickDeeКакого размера мне нужно создать...буфер под параметр ? И почему именно такого ? Я проверял в IBExpert. Думаю что он делает Prepare, и не занимается созданием буферов сам. Можно ли менять размер буфера после Prepare? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 19:11:03 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
NickDeeМожно ли менять размер буфера после Prepare?Можно даже менять тип данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 19:12:10 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
hvladМожно даже менять тип данных И получить тот же string truncation когда сервер будет преобразовывать тип из message пришедшего с клиента в серверное DSC (или что там выделяется под параметр)?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 19:37:06 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Есс-но :) Наш весёлый тролль ведь не думает над тем, что ему пишут. Вот и получает точные и бесполезные ответы на свои вопросы :) Я ему про буфер на сервере, а он мне - про IBE. Славно поговорили :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 20:46:41 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
hvladЯ ему про буфер на сервере, а он мне - про IBE. А вот отсюда поподробнее, пожалуйста: как сменить размер буфера на сервере после Prepare? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 20:59:53 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovкак сменить размер буфера на сервере после Prepare?Никак. А где ты в моих словах увидел обратное ? Может начнём читать ответы не по диагонали ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 22:17:08 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
hvladА где ты в моих словах увидел обратное ? Здесь: hvlad...буфер под параметр ? И почему именно такого ? hvladМожно даже менять тип данных hvladЯ ему про буфер на сервере Кстати, на первый процитированный вопрос ответом мог бы быть "потому что такой размер прислал клиент в message для execute". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 22:40:08 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
hvladDimitry Sibiryakovкак сменить размер буфера на сервере после Prepare?Никак. А где ты в моих словах увидел обратное ? Может начнём читать ответы не по диагонали ? Тогда я ещё раз уточню: Код: sql 1. 2. 3. 4. делаем prepare для Код: sql 1. Получаем для параемтра длину 15. Как мне теперь записать туда строку большей длины? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 22:59:08 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
NickDeeКак мне теперь записать туда строку большей длины? Чтобы сервер не заругался, естественно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 23:00:09 |
|
||
|
Запросы с LIKE arithmetic exception, numeric overflow, or string truncation
|
|||
|---|---|---|---|
|
#18+
Вот тут я говорю с точки зрения сервера (а с какой же ещё мне говорить ?):hvladNickDeeКакого размера мне нужно создать...буфер под параметр ? И почему именно такого ? Вот тут мне продолжают лепить про клиента:NickDeeЯ проверял в IBExpert. Думаю что он делает Prepare, и не занимается созданием буферов сам. Можно ли менять размер буфера после Prepare? О чём я и сообщаю:hvladЯ ему про буфер на сервере, а он мне - про IBE Вот тут и ДС вступает в клуб нечитающих написанное:Dimitry Sibiryakovкак сменить размер буфера на сервере после Prepare? Ы ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 23:34:10 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=112&tid=1564264]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
74ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 411ms |

| 0 / 0 |
