2013-06-18 3 views
1

MySQL에서 내 테이블을 csv에 열로 성공적으로 내보냈습니다. 나는 Include headers when using SELECT INTO OUTFILE?MySQL 내보내기를위한 추가 열을 csv에 추가 하시겠습니까?

SELECT 'ColName1', 'ColName2', 'ColName3'

UNION ALL

SELECT ColName1, ColName2, ColName3

FROM YourTable 
INTO OUTFILE '/path/outfile' 

에서이 사람의 답변을 사용 그러나 쿼리 수식을 csv 파일에 추가 할 새 열로 내보내려고합니다. 두 번째 SELECT 문 다음에 여분의 계산 된 열을 추가하려고했습니다. MySQL은 "사용 된 SELECT 문에는 다른 수의 열이 있습니다"라는 오류 메시지가 나타납니다.

예 식 : SELECTCAST((ColName1 * ColName2)ASDECIMAL(7,2))ASColNameX. 내 수출 진술서에 어디서 입력해야할지 모르겠습니다.

답변

0

UNION이 작동하려면 동일한 수의 열이 있어야하며 동일한 유형이어야합니다. 머리글 행을 텍스트로 만들 때 두 번째 쿼리의 모든 열도 텍스트 여야합니다. 좋아요 :

SELECT 'ColName1', 'ColName2', 'ColName3', 'New Column' 
UNION ALL 
SELECT 
    ColName1 
    ,ColName2 
    ,ColName3 
    ,CAST(CAST((ColName1 * ColName2) AS DEC(5,2)) AS CHAR) 
FROM YourTable 
INTO OUTFILE '/path/outfile' 
+0

새 열 값을 정확한 정밀도, 예를 들어 3 자리 정밀도 2로 맞추려면 어떻게합니까? 또는 Excel (프로그램을 가져 오는 CSV)을 통해 값을 자르지 않습니까? – hk101

+0

VARCHAR 근처에서 mysql 구문 오류가 발생합니다. 관련된 열은 모두 십진수입니다. 나는 CAST ((ColName1 * ColName2) AS DEC (5,2))를 실행하여 이것을 풀었다. 모든 것이 의도 한대로 출력되고있다. – hk101

+0

문제를 해결할 수 있도록 수정했습니다. –

관련 문제