-
Почему не работает?
update opapa a set a.invn = trim(a.invn)
-
Сдаемся. Почему?
-
разобрался.
там тип поля Char, а Оракл в таких полях хранит полную длину поля, добивая пробелами.
так что ТРИМ на такие поля не действует.
-
> [2] guest (21.09.10 16:02)
Ух ты. А я думал компьютер не включили.
-
> так что ТРИМ на такие поля не действует.
Чё это вдруг не действует?
update opapa a set a.invn = ' ' + a.invn
update opapa a set a.invn = trim(a.invn)
-
> Ega23 © (21.09.10 16:06) [4]
и впрямь не дейсвует, varchar2 надо
-
> и впрямь не дейсвует, varchar2 надо
А если Char(20) ?
-
а если 21? :)
-
> а если 21? :)
Да хоть 255. Я с этим вашим Ораслом не знаком, но есть подозрение, что TRIM обрезает пробелы как справа, так и слева.
В MSSQL это на 2 функции разбито, LTRIM() и RTRIM()
-
> Ega23 © (21.09.10 16:28) [8]
правильное подозрение, есть и LTRIM() и RTRIM() и просто TRIM()
недоработан маленько ваш mssql
-
> недоработан маленько ваш mssql
Не, наврал, просто TRIM() есть как минимум с 2005-го
-
> guest (21.09.10 16:02) [2]
Что же ты молчал?
-
В этом вашем MSSQL поля типа Char ведут себя абсолютно также.
Странно, что Гуру не в курсе.
-
Как ни странно, но это соответствует стандарту на SQL
-
> В этом вашем MSSQL поля типа Char ведут себя абсолютно также.
> Странно, что Гуру не в курсе.
Я тебе по секрету скажу, что если в какой-то СУБД поля начнут типа CHAR начнут себя вести не так, то эту СУБД нужно выкидывать на помоёку.