Solved

Replace line breaks with a space with using Select.. Into Outfile

Posted on 2008-10-20
5
555 Views
Last Modified: 2012-05-05
I am running a query to download a csv. Some of the fields might contain line breaks, which makes the program reading the file think that the record has ended, messing up the column count. Can I replace the breaks with a space or make it ignore the breaks?
SELECT 
					p.prodid,
					r.id,
					r.rganum,
					p.partnum,
					p.description,
					p.mfgmonth,
					p.mfgyear,
					p.produse,
					p.lot,
					p.amount,
					p.unitMeasure
			INTO OUTFILE '$file2' 
			FIELDS TERMINATED BY ';' 
			LINES TERMINATED BY '\n' 
			FROM 
				ns_rgaproduct p,
				ns_rga r
			WHERE 
				r.status = 'approved' 
				and r.decdate >= '$exportdate'
				and r.id = p.rgaid

Open in new window

0
Comment
Question by:nisupport
  • 3
  • 2
5 Comments
 
LVL 82

Accepted Solution

by:
hielo earned 500 total points
ID: 22758120
try:
SELECT 
                              p.prodid,
                              r.id,
                              r.rganum,
                              p.partnum,
                              REPLACE(`p`.`description`,'\n',''),
                              p.mfgmonth,
                              p.mfgyear,
                              p.produse,
                              p.lot,
                              p.amount,
                              p.unitMeasure
                  INTO OUTFILE '$file2' 
                  FIELDS TERMINATED BY ';' 
                  LINES TERMINATED BY '\n' 
                  FROM 
                        ns_rgaproduct p,
                        ns_rga r
                  WHERE 
                        r.status = 'approved' 
                        and r.decdate >= '$exportdate'
                        and r.id = p.rgaid

Open in new window

0
 

Author Comment

by:nisupport
ID: 22759129
I am still getting the same results. Is there another character for a break to replace? I have tried <br>.
0
 
LVL 82

Expert Comment

by:hielo
ID: 22759331
Other than '\n', you can try:
'\r\n'

NOTE:You need to use the replace on every field that may potentially have the newline.
0
 

Author Comment

by:nisupport
ID: 22759371
Figured it out needed to put '\r\n' for the line break.
0
 
LVL 82

Expert Comment

by:hielo
ID: 22759720
glad to help
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Part of the Global Positioning System A geocode (https://developers.google.com/maps/documentation/geocoding/) is the major subset of a GPS coordinate (http://en.wikipedia.org/wiki/Global_Positioning_System), the other parts being the altitude and t…
Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
The viewer will learn how to count occurrences of each item in an array.

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question