#sql #ibm-midrange
Вопрос:
У меня есть следующий запрос в iSeries SQL, который я выводю в файл.
SELECT SSLOTMAK, SSLOTMDL, SSLOTYER, sum(SSCOUNT)
FROM prqhdrss
GROUP BY SSLOTMAK, SSLOTMDL, SSLotyer
HAVING sum(SSCOUNT) > 4
ORDER BY SSLOTMAK, SSLOTMDL, SSLOTYER
Когда я запускаю его, созданное поле «Сумма» (SSCOUNT) представляет собой 31 упакованное поле. Это не позволяет мне отправить его на свой компьютер. Как я могу заставить SQL создать поле как неупакованное поле.
Ответ №1:
Попробуйте это
SELECT SSLOTMAK, SSLOTMDL, SSLOTYER, cast(sum(SSCOUNT) as integer)
FROM prqhdrss
GROUP BY SSLOTMAK, SSLOTMDL, SSLotyer
HAVING sum(SSCOUNT) > 4
ORDER BY SSLOTMAK, SSLOTMDL, SSLOTYER
Я привел к целому числу из-за названия столбца «количество». Если столбец содержит значения с плавающей запятой, вы можете использовать numeric(8, 2)
вместо этого.
Ответ №2:
Как вы пытаетесь перенести его на свой компьютер? Большинство известных мне методов iSeries автоматически преобразуют это в формат, читаемый на ПК.
Комментарии:
1. Я совершенно уверен, что FTP для одного не преобразует упакованные данные в формат, который прост в использовании на стороне ПК.