質問編集履歴

4

追記2 追加

2017/09/15 02:45

投稿

King_of_Flies
King_of_Flies

スコア382

test CHANGED
File without changes
test CHANGED
@@ -249,3 +249,69 @@
249
249
 
250
250
 
251
251
  こうしたいです。
252
+
253
+
254
+
255
+ 追記2
256
+
257
+ 出来ました。
258
+
259
+ ```sql
260
+
261
+ set echo off
262
+
263
+ set linesize 1000
264
+
265
+ set pagesize 0
266
+
267
+ set trimspool on
268
+
269
+ set feedback off
270
+
271
+ set colsep ','
272
+
273
+ set feedback off
274
+
275
+ set heading off
276
+
277
+ set verify off
278
+
279
+ set term off
280
+
281
+ set trimspool on --追加
282
+
283
+
284
+
285
+ col spool_file_name new_value spool_file_name format a100
286
+
287
+ SELECT '試験台帳' || to_char(sysdate,'_YYYYMMDDHH24MISS') || '.csv' spool_file_name FROM dual;
288
+
289
+ SELECT 'ヘッダ1,ヘッダ2,ヘッダ3,ヘッダ4' FROM dual;
290
+
291
+ SELECT
292
+
293
+ '"'||ho.data1||'"'||','||
294
+
295
+ '"'||ho.data2||'"'||','||
296
+
297
+ '""'||','||
298
+
299
+ '"'||hu.data3||'"'
300
+
301
+ FROM
302
+
303
+ Hoge_mst ho,
304
+
305
+ Huge_mst hu
306
+
307
+ WHERE
308
+
309
+ ho.Id = hu.Id
310
+
311
+ ```
312
+
313
+ selectの,←これも||''||でくくると表示できるようです。
314
+
315
+
316
+
317
+ BAは最初に解答してくれたttyp03さんに差し上げます。

3

csvの出力を修正

2017/09/15 02:44

投稿

King_of_Flies
King_of_Flies

スコア382

test CHANGED
File without changes
test CHANGED
@@ -236,7 +236,7 @@
236
236
 
237
237
  ヘッダ1,ヘッダ2,ヘッダ3,ヘッダ4,
238
238
 
239
- 試験データ1,試験データ2,"" ,試験データ4
239
+ "試験データ1","試験データ2","" ,"試験データ4"
240
240
 
241
241
 
242
242
 
@@ -244,7 +244,7 @@
244
244
 
245
245
  ヘッダ1,ヘッダ2,ヘッダ3,ヘッダ4,
246
246
 
247
- 試験データ1,試験データ2,"",試験データ4
247
+ "試験データ1","試験データ2","","試験データ4"
248
248
 
249
249
 
250
250
 

2

追記を追加

2017/09/15 02:38

投稿

King_of_Flies
King_of_Flies

スコア382

test CHANGED
File without changes
test CHANGED
@@ -167,3 +167,85 @@
167
167
 
168
168
 
169
169
  お願いします。
170
+
171
+
172
+
173
+ 追記 ttyp03さんのコメントを元にsqlを書き直しました。
174
+
175
+ ```sql
176
+
177
+ set echo off
178
+
179
+ set linesize 1000
180
+
181
+ set pagesize 0
182
+
183
+ set trimspool on
184
+
185
+ set feedback off
186
+
187
+ set colsep ','
188
+
189
+ set feedback off
190
+
191
+ set heading off
192
+
193
+ set verify off
194
+
195
+ set term off
196
+
197
+ set trimspool on --追加
198
+
199
+
200
+
201
+ col spool_file_name new_value spool_file_name format a100
202
+
203
+ SELECT '試験台帳' || to_char(sysdate,'_YYYYMMDDHH24MISS') || '.csv' spool_file_name FROM dual;
204
+
205
+ SELECT 'ヘッダ1,ヘッダ2,ヘッダ3,ヘッダ4' FROM dual;
206
+
207
+ SELECT
208
+
209
+ '"'||ho.data1||'"',
210
+
211
+ '"'||ho.data2||'"',
212
+
213
+ '""',
214
+
215
+ '"'||hu.data3||'"'
216
+
217
+ FROM
218
+
219
+ Hoge_mst ho,
220
+
221
+ Huge_mst hu
222
+
223
+ WHERE
224
+
225
+ ho.Id = hu.Id
226
+
227
+
228
+
229
+
230
+
231
+ ```
232
+
233
+
234
+
235
+ その後のcsvファイルはこのようになっています。
236
+
237
+ ヘッダ1,ヘッダ2,ヘッダ3,ヘッダ4,
238
+
239
+ 試験データ1,試験データ2,"" ,試験データ4
240
+
241
+
242
+
243
+ なぜ3つ目のデータのところになぞ空白が入ってくるのでしょう。
244
+
245
+ ヘッダ1,ヘッダ2,ヘッダ3,ヘッダ4,
246
+
247
+ 試験データ1,試験データ2,"",試験データ4
248
+
249
+
250
+
251
+ こうしたいです。

1

タイトル変更

2017/09/15 02:36

投稿

King_of_Flies
King_of_Flies

スコア382

test CHANGED
@@ -1 +1 @@
1
- csv出力で出力するデータにダブルコートを加えたい
1
+ batで流れるsqlからcsvファイルを出力する際、””でデータをくくりたいのと、空白行のリムたい
test CHANGED
File without changes