2012-12-20 14 views
5

मैं डेटाबेस में लोड होने के लिए बीसीपी फ़ाइलों को उत्पन्न करने के लिए एक साधारण SQL कथन पर काम कर रहा हूं।एसक्यूएल सभी कॉलम के लिए डिलिमिटेड परिणाम प्राप्त करें

ये बीसीपी फ़ाइलें निम्न स्वरूप में हैं:

1|name|otherfield|otherfield1 

इस तरह फ़ाइलों का निर्माण करने के मैं वर्तमान में कर रहा हूँ:

SELECT id+"|"+name+"|"+otherfield+"|"+otherfield1+"\n" FROM table 

वहाँ एक का चयन करें बयान है कि बिना every column चुन लिए जाएँगे है उन्हे नाम दो?

तरह

SELECT * with "|" from Table 
+1

क्या यह वास्तव में पहले स्थान पर करने का सही तरीका है? क्या होगा यदि आपके कॉलम में से कोई एक "|" है? क्या आप आवेदन नहीं कर रहे नियमों से बच रहे हैं? – deceze

+0

@deceze यह एक बहुत अच्छा मुद्दा है, दुर्भाग्य से यह स्क्रिप्ट जो इन्हें पढ़ती है वह "मेरे नियंत्रण से बाहर" है और उम्मीद करता है। और किसी भी बचने के पात्रों का समर्थन नहीं करता है। यह अच्छा पुराना है "यह काम करता है इसलिए इसे छूएं नहीं"। –

+0

एक MySQL टैग होने से पहले लेकिन इसे हटा दिया गया है। कोई विचार क्यों? –

उत्तर

4

आप SELECT ... INTO OUTFILE इस्तेमाल कर सकते हैं कुछ।

SELECT * INTO OUTFILE 'filename' 
FIELDS TERMINATED BY '|' 
LINES TERMINATED BY '\n' 
FROM yourtable; 

http://dev.mysql.com/doc/refman/5.6/en/select-into.html

+0

यह एक साइबेस डेटाबेस के लिए है, MYSQL –

+0

अजीब नहीं ... इसे पहले mysql टैग किया गया था, लेकिन टैग अब चला गया है। –

1

आप एक फ़ाइल में उत्पादन तो आप इस

SELECT * 
INTO OUTFILE 'D://abc.txt' 
FIELDS TERMINATED BY '|' LINES TERMINATED BY '\r\n' 
FROM table 

यहाँ मैं एक नई लाइन पर प्रत्येक पंक्ति outputting के लिए \r\n का इस्तेमाल किया है (Windows पर)

कोशिश कर सकते हैं
+0

यह एक साइबेस डेटाबेस के लिए, MySQL नहीं –

1

Sybase एएसई के लिए, बीसीपी उपयोगिता में निर्मित डीमैमिटर को क्यों न बदलें। यह डिफ़ॉल्ट रूप से सभी कॉलम कैप्चर करेगा।

bcp MYDATABASE..MYTABLE out MYTABLEFILE.bcp -Uusername -Ppassword -SMYSERVER -c -t| 

आप आयकर विकल्प का उपयोग करने के लिए स्तंभ delimeter है, जो केवल -c एक 'चरित्र' (मानव पठनीय) आधारित BCP उत्पादन निर्दिष्ट करने के साथ इस्तेमाल किया जा सकता सेट करना होगा। यदि आप यूनिक्स/लिनक्स आधारित सिस्टम पर हैं, तो आपको पाइप से बचना पड़ सकता है, उदा। - \ t