将相应的 大型对象LOB类型数据转为相应的CSV格式 返回 ,采用了piplined 的方式,也就是 运行出一条数据 就返回一条 ,不是全部都执行完了 再返回的形式 PL/SQL lob-to-csv piplined function clob_to_csv (p_csv_clob in clob, p_separator in varchar2 := g
将相应的 大型对象LOB类型数据转为相应的CSV格式 返回 ,采用了piplined 的方式,也就是 运行出一条数据 就返回一条 ,不是全部都执行完了 再返回的形式 PL/SQL lob-to-csv piplinedfunction clob_to_csv (p_csv_clob in clob, p_separator in varchar2 := g_default_separator, p_skip_rows in number := 0) return t_csv_tab pipelined as l_line_separator varchar2(2) := chr(13) || chr(10);--行的 分割符号 \r\n l_last pls_integer;--上一次的扫描位置 l_current pls_integer;--这一次的扫描位置 l_line varchar2(32000); l_line_number pls_integer := 0; l_from_line pls_integer := p_skip_rows + 1; l_line_array t_str_array; l_row t_csv_line := t_csv_line (null, null, -- line number, line raw null, null, null, null, null, null, null, null, null, null, -- lines 1-10 null, null, null, null, null, null, null, null, null, null); -- lines 11-20 begin /* Purpose: convert clob to CSV Remarks: based on code from http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1352202934074 and http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:744825627183 Who Date Description ------ ---------- -------------------------------- MBR 31.03.2010 Created fartpig 07.03.2011 noted */ -- If the file has a DOS newline (cr+lf), use that: 如果文件时DOS的格式就是用 \r\n -- If the file does not have a DOS newline, use a Unix newline (lf) 如果不是就采用 unix标准 \n -- 通过检索 \r\n 是否存在 if (nvl(dbms_lob.instr(p_csv_clob, l_line_separator, 1, 1),0) = 0) then l_line_separator := chr(10); end if; l_last := 1;--设定上一次扫描位置为 1 loop --检索 当前分割符号的位置 --为了能够顺利的将文件读完 需要 将传入的 LOB结尾加上一个 分割符号 l_current := dbms_lob.instr (p_csv_clob || l_line_separator, l_line_separator, l_last, 1); --当 没有找到时候 退出 exit when (nvl(l_current,0) = 0); --递增 行号 l_line_number := l_line_number + 1; if l_from_line <= l_line_number then --通过 上一次的标记和这一次的标记 获得相应的 子值 --注意这里的参数 顺序和 instr不同 ,偏移量和长度 是反过来的 l_line := dbms_lob.substr(p_csv_clob || l_line_separator, l_current - l_last + 1, l_last); --l_line := replace(l_line, l_line_separator, ''); --将得到的 子值的 \r\n 替换掉 l_line := replace(l_line, chr(10), ''); l_line := replace(l_line, chr(13), ''); --调用相应的 csv to array API来处理 得到这个行 的结果数组 l_line_array := csv_to_array (l_line, p_separator); --将获得的值 进行那个封装到 记录中 通过pip row返回 l_row.line_number := l_line_number; l_row.line_raw := substr(l_line,1,4000); l_row.c001 := get_array_value (l_line_array, 1); l_row.c002 := get_array_value (l_line_array, 2); l_row.c003 := get_array_value (l_line_array, 3); l_row.c004 := get_array_value (l_line_array, 4); l_row.c005 := get_array_value (l_line_array, 5); l_row.c006 := get_array_value (l_line_array, 6); l_row.c007 := get_array_value (l_line_array, 7); l_row.c008 := get_array_value (l_line_array, 8); l_row.c009 := get_array_value (l_line_array, 9); l_row.c010 := get_array_value (l_line_array, 10); l_row.c011 := get_array_value (l_line_array, 11); l_row.c012 := get_array_value (l_line_array, 12); l_row.c013 := get_array_value (l_line_array, 13); l_row.c014 := get_array_value (l_line_array, 14); l_row.c015 := get_array_value (l_line_array, 15); l_row.c016 := get_array_value (l_line_array, 16); l_row.c017 := get_array_value (l_line_array, 17); l_row.c018 := get_array_value (l_line_array, 18); l_row.c019 := get_array_value (l_line_array, 19); l_row.c020 := get_array_value (l_line_array, 20); pipe row (l_row); end if; --将使用当前的扫描位置加上行的分割符号 来替换 上一次的扫描位置 l_last := l_current + length (l_line_separator); end loop; return; end clob_to_csv;

Laravel是业界比较出色的PHP框架之一,其强大的功能和易于使用的API使得其深受开发者的喜爱。在实际开发中,我们经常需要进行数据的导入和导出工作,而CSV作为一种广泛应用的数据格式,也成为了常用的导入和导出格式之一。本文就将介绍如何使用LaravelExcel扩展来进行CSV文件的导入和导出操作。一、安装LaravelExcel首先,我们需

这篇文章将为大家详细讲解有关PHP将行格式化为CSV并写入文件指针,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。将行格式化为CSV并写入文件指针步骤1:打开文件指针$file=fopen("path/to/file.csv","w");步骤2:将行转换为CSV字符串使用fputcsv()函数将行转换为CSV字符串。该函数接受以下参数:$file:文件指针$fields:作为数组的CSV字段$delimiter:字段分隔符(可选)$enclosure:字段引号(

php中json字符串转csv格式的方法:1、创建一个php示例文件;2、将JSON字符串转换为PHP数组或对象;3、创建一个文件句柄并打开一个CSV文件进行写入;4、在CSV文件中编写标题行和数据行;5、将数据行写入CSV文件,并在字段之间使用逗号分隔符,关闭文件句柄并完成转换即可。

Python中的XML数据转换为CSV格式XML(ExtensibleMarkupLanguage)是一种可扩展标记语言,常用于数据的存储和传输。而CSV(CommaSeparatedValues)则是一种以逗号分隔的文本文件格式,常用于数据的导入和导出。在处理数据时,有时需要将XML数据转换为CSV格式以便于分析和处理。Python作为一种功能强大

Java是一种广泛使用的编程语言,开发者们常常需要处理各种数据格式。CSV(Comma-SeparatedValues,逗号分隔值)是一种常见的数据格式,广泛应用于数据交换和存储。在Java中,我们可以使用OpenCSV库来读写CSV文件。OpenCSV是一个简单易用的开源库,提供了方便的API来处理CSV数据。本文将介绍如何在

php导入csv乱码问题的解决办法:1、构造一个解析函数“function tb_str_getcsv($string, $delimiter=',', $enclosure='"') {...}”;2、读取文件到变量;3、通过“substr($s,2)”去掉BOM头即可。

概述主要知识点a.SwingNode类:把Javaswing组件封装成一个JavaFX的Node,使得JavaSwing可以和JavaFX嵌套在一起使用,JavaSwing贼丑,但操作简单,JavaFX的表格组件(TableView等)有点复杂,所以选择嵌套JavaSwing来使用,丑就丑吧b.javacsv-2.0.jar:用于通过文件地址读取csv文件,并可以进行一系列操作.尽管2008年之后就不再更新,但操作个csv文件也够用了。c.FileChoose类:JavaFX的一个文件选择器,可

csv通过打开CSV文件、格式化CSV文件、导出CSV文件、调整VCF文件格式和保存VCF文件的步骤转vcf。详细介绍:1、打开CSV文件,可以使用Microsoft Excel、Google Sheets或任何其他电子表格程序打开CSV文件;2、格式化CSV文件,确保CSV文件的列标题清晰明确;3、导出CSV文件等等。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。