Настройка формата для поля, определенного запросом

#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 для одного не преобразует упакованные данные в формат, который прост в использовании на стороне ПК.