[mysql]как удалить знак переноса строки?
Что-то вроде
update "gamma" set "cog" = substring("cog", 0, -2) where substring("cog", -2) = '\n'
update "gamma" set "cog" = substring("cog", 0, -2) where substring("cog", -2) = '\n'
Опа. Пенартур считает что \n есть 2 байта.
Теперь многие вещи мне стали понятны.
Теперь многие вещи мне стали понятны.
Аффтар сказал

во всех значения последней колонки в конце стоит "\n"а не
во всех значения последней колонки в конце стоит символ перевода строкиили
во всех значения последней колонки в конце стоит байт 0x0a

UPDATE gamma SET cog=left(cog,length(cog)-1) where right(cog,1)="\n"Ну это только если 1 \n вконце
аффтар тупит - чета не работает не с -2 не с -1 , ошибку не выдает но и сука не удаляет 

ОПА спасибо работает!


ну потому что наверное мануал внимательно прочтён не был 
SUBSTRING(str,pos,len).
len=-2 это какой-то ахтунг.

SUBSTRING(str,pos,len).
len=-2 это какой-то ахтунг.
потому что там только идея, а дальше головой думать надо
например, посмотреть документацию в mysql - действительно ли substring умеет принимать отрицательные параметры? или надо их через длину вычислять.
например, посмотреть документацию в mysql - действительно ли substring умеет принимать отрицательные параметры? или надо их через длину вычислять.
кстати при загрузке из файла раньше таких проблем не было, оказывается там просто не "\n" а "\r", но первый пример и с "\r" не работал,
как кстати запалить c помощью например more что в конце \r а не \n?
как кстати запалить c помощью например more что в конце \r а не \n?
потому что наверное мануал внимательно прочтён не былНет. Потому что в мануал лезть было влом, никаких клиентов под рукой нету, и я написал
Что-то вроде
Нет. Потому что в мануал лезть было влом, никаких клиентов под рукой нету, и я написалОга, а ещё надо кстати обязательно лезть в мануал, чтобы понять, что название полей не стоит в двойные кавычки заключать в твоём примере.
Вопрос привычки.
Кстати твоя говноотмазка совсем не катит ибо ты пишешь " where substring("cog", -2) = '\n' " В этом коде \n есть ровно перенос строки (специально для пенартура это 1 байт) и это условие никогда не сработает.
Так что даже слив незасчитан.
Так что даже слив незасчитан.
Если бы ты заключил в апострофы, то тогда это было бы даже круто рассуждать о привычках, а тут я даже не знаю что сказать.
Да я вообще руками сто лет сложные запросы не писал.
кстати при загрузке из файла раньше таких проблем не было, оказывается там просто не "\n" а "\r", но первый пример и с "\r" не работал, как кстати запалить c помощью например more что в конце \r а не \n?пенартур просто гуру телепатии (или законченный вендузятник, если вам так приятнее) лол.
Оставить комментарий
Sasha21
во всех значения последней колонки в конце стоит "\n", как их удалить одним махом?типа: UPDATE gamma SET cog="cog без \n"