powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как бороться с \N
9 сообщений из 9, страница 1 из 1
Как бороться с \N
    #38437332
roma095
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет. Есть досовский скрипт, который берет из mysql базы два значения и пишет мне в текстовый файл. Проблема в том, что периодически в текстовиках появляется \N и я не знаю как это побороть. То есть не ноль пишется, а непонятный мне символ. В чем может быть дело и как можно побороть это?

Вот как это у меня в текстовике выглядит:
346 36
662 152
449 170
69 17
72 77
41 826
40 900
273 122
261 7
\N 252
\N 74
10 104
403 31
272 9




Ниже скрипт

:: выполняем скрипт
"C:\Program Files\MySQL\MySQL Server 5.5\bin\"mysql.exe --user=%dbuser% --password=%dbpasswd% --execute="SELECT SUM(`volume`) INTO OUTFILE \"D:\\BUY1.txt\" FROM `all_trades` WHERE `dir` = 'BUY' && TIME_TO_SEC(NOW())-TIME_TO_SEC(`time`) <= 15" %dbase%
"C:\Program Files\MySQL\MySQL Server 5.5\bin\"mysql.exe --user=%dbuser% --password=%dbpasswd% --execute="SELECT SUM(`volume`) INTO OUTFILE \"D:\\SELL1.txt\" FROM `all_trades` WHERE `dir` = 'SELL' && TIME_TO_SEC(NOW())-TIME_TO_SEC(`time`) <= 15" %dbase%

set "sep= " % tab %

(
for /f "delims=" %%a in (%buy%) do (
setlocal EnableDelayedExpansion
set /p line=
echo(%%a!sep!!line!>>%out%
endlocal
)
)<%sell%

goto loop
...
Рейтинг: 0 / 0
Как бороться с \N
    #38437348
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
могу предположить, что это NULL, который вовсе не 0.
...
Рейтинг: 0 / 0
Как бороться с \N
    #38437359
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

это нулл, без сомнений, только вот ТС выбирает один столбец, а в файле у него загадочным образом их появляется два...
...
Рейтинг: 0 / 0
Как бороться с \N
    #38437366
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglirа в файле у него загадочным образом их появляется два...Насколько я понял, это в конечном файле, который появляется после работы всего кода.

А вот откуда более одной записи после SUM() без группировки - загадка.
...
Рейтинг: 0 / 0
Как бороться с \N
    #38437377
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,


roma095WHERE `dir` = 'BUY'
roma095WHERE `dir` = 'SELL'Может, там ещё куча условий, и только потом всё это собирается в кучу, да ещё и в две колонки, да...
...
Рейтинг: 0 / 0
Как бороться с \N
    #38437384
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglirМожет, там ещё ...ХШ тренируем
...
Рейтинг: 0 / 0
Как бороться с \N
    #38437517
roma095
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Там скрипт считает сколько прошло значений BUY и SELL за 15 секунд. Они потом пишутся в два файла и из двух файлов собирается один(просто этот кусок кода я не вставил который собирает). Но если смотреть по отдельности то там присутствует иногда этот символ \N. Я предполагаю, что это случается когда за 15 секунд какое то значение не встречается. Проблема в том, что дальше эти данные идут в обработку другим скриптом, который умирает если встречаетс кривое для него не цифровое значение \N.

Может как то можно изменить мой скрипт, чтобы вместо \N хотя бы ноль писался?

Спасибо!
...
Рейтинг: 0 / 0
Как бороться с \N
    #38437519
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roma095,

вместо SUM(`volume`) напишите IFNULL(SUM(`volume`),0)
...
Рейтинг: 0 / 0
Как бороться с \N
    #38437564
roma095
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft, спасибо, попробую!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как бороться с \N
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]