|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.03.2018, 18:49 | #1 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
Firebird - Не совсем понятна обрезка концевых пробелов
Доброе время суток,
Есть запрос Код:
Причем кол-во пробелов в «NAME_DEVICE» = 1, а в «CITY» = 8. Как я понял потом это связано с преобразованием Firebird строковых констант в char(maxlength) Пришлось немного переделать запрос: Код:
Мне казалось, что должно было удалиться только с тех строк, где значение равно ''NAME_DEVICE'', т.е. к определенному значению, а не к полю «FILED_NAME» (в таком случае логичнее было бы значением функции trim указывать название поля)…, но в http://firebirdsql.su/doku.php?id=trim, сказано, что это значение "trim" это «выражение, символы которого нужно обрезать». Как тогда понимать эту запись??? Спасибо за ответ Последний раз редактировалось KBO; 20.03.2018 в 18:51. |
20.03.2018, 19:21 | #2 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
http://www.firebirdfaq.org/faq237/
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 20.03.2018 в 19:24. |
|
21.03.2018, 00:01 | #3 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
Скорее "что за фиг"... ))
почему Код:
|
21.03.2018, 07:39 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Видимо особенности приведения к одному типу. Надо полагать, что движок в случае когда только константы были тип результирующего поля сделал char. Во втором случае - varchar. Скорее всего это не связано именно с trim. Попробуй LOWER например вместо trim подставить
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
21.03.2018, 09:22 | #5 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
trim(''DEVICE'') --здесь trim НИЧЕГО не делает. =''DEVICE''
trim('' NAME_DEVICE '') а здесь кое-что проделает. =''NAME_DEVICE'' trim обрезает ровно то что в скобках(в данном случае константу), но вот потом.... Поле может быть только одного типа. В данном случае
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 21.03.2018 в 09:29. |
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Отрезок задан координатами своих концевых точек. Требуется вычислить длину этого отрезка - C++ | Александр121 | Помощь студентам | 3 | 09.02.2018 15:04 |
Обрезка | Sanya.Kushner | Мультимедиа в Delphi | 1 | 05.12.2013 20:55 |
Обрезание "не совсем" пробелов в ячейке | spirit-ua | Microsoft Office Excel | 6 | 21.07.2011 16:04 |
Не понятна область действия css класса | posdnyaa | HTML и CSS | 5 | 19.11.2008 08:56 |