lob to csv
将相应的 大型对象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;

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



DDREASE is a tool for recovering data from file or block devices such as hard drives, SSDs, RAM disks, CDs, DVDs and USB storage devices. It copies data from one block device to another, leaving corrupted data blocks behind and moving only good data blocks. ddreasue is a powerful recovery tool that is fully automated as it does not require any interference during recovery operations. Additionally, thanks to the ddasue map file, it can be stopped and resumed at any time. Other key features of DDREASE are as follows: It does not overwrite recovered data but fills the gaps in case of iterative recovery. However, it can be truncated if the tool is instructed to do so explicitly. Recover data from multiple files or blocks to a single

0.What does this article do? We propose DepthFM: a versatile and fast state-of-the-art generative monocular depth estimation model. In addition to traditional depth estimation tasks, DepthFM also demonstrates state-of-the-art capabilities in downstream tasks such as depth inpainting. DepthFM is efficient and can synthesize depth maps within a few inference steps. Let’s read about this work together ~ 1. Paper information title: DepthFM: FastMonocularDepthEstimationwithFlowMatching Author: MingGui, JohannesS.Fischer, UlrichPrestel, PingchuanMa, Dmytr

This article will explain in detail how PHP formats rows into CSV and writes file pointers. I think it is quite practical, so I share it with you as a reference. I hope you can gain something after reading this article. Format rows to CSV and write to file pointer Step 1: Open file pointer $file=fopen("path/to/file.csv","w"); Step 2: Convert rows to CSV string using fputcsv( ) function converts rows to CSV strings. The function accepts the following parameters: $file: file pointer $fields: CSV fields as an array $delimiter: field delimiter (optional) $enclosure: field quotes (

The performance of JAX, promoted by Google, has surpassed that of Pytorch and TensorFlow in recent benchmark tests, ranking first in 7 indicators. And the test was not done on the TPU with the best JAX performance. Although among developers, Pytorch is still more popular than Tensorflow. But in the future, perhaps more large models will be trained and run based on the JAX platform. Models Recently, the Keras team benchmarked three backends (TensorFlow, JAX, PyTorch) with the native PyTorch implementation and Keras2 with TensorFlow. First, they select a set of mainstream

Facing lag, slow mobile data connection on iPhone? Typically, the strength of cellular internet on your phone depends on several factors such as region, cellular network type, roaming type, etc. There are some things you can do to get a faster, more reliable cellular Internet connection. Fix 1 – Force Restart iPhone Sometimes, force restarting your device just resets a lot of things, including the cellular connection. Step 1 – Just press the volume up key once and release. Next, press the Volume Down key and release it again. Step 2 – The next part of the process is to hold the button on the right side. Let the iPhone finish restarting. Enable cellular data and check network speed. Check again Fix 2 – Change data mode While 5G offers better network speeds, it works better when the signal is weaker

I cry to death. The world is madly building big models. The data on the Internet is not enough. It is not enough at all. The training model looks like "The Hunger Games", and AI researchers around the world are worrying about how to feed these data voracious eaters. This problem is particularly prominent in multi-modal tasks. At a time when nothing could be done, a start-up team from the Department of Renmin University of China used its own new model to become the first in China to make "model-generated data feed itself" a reality. Moreover, it is a two-pronged approach on the understanding side and the generation side. Both sides can generate high-quality, multi-modal new data and provide data feedback to the model itself. What is a model? Awaker 1.0, a large multi-modal model that just appeared on the Zhongguancun Forum. Who is the team? Sophon engine. Founded by Gao Yizhao, a doctoral student at Renmin University’s Hillhouse School of Artificial Intelligence.

The latest video of Tesla's robot Optimus is released, and it can already work in the factory. At normal speed, it sorts batteries (Tesla's 4680 batteries) like this: The official also released what it looks like at 20x speed - on a small "workstation", picking and picking and picking: This time it is released One of the highlights of the video is that Optimus completes this work in the factory, completely autonomously, without human intervention throughout the process. And from the perspective of Optimus, it can also pick up and place the crooked battery, focusing on automatic error correction: Regarding Optimus's hand, NVIDIA scientist Jim Fan gave a high evaluation: Optimus's hand is the world's five-fingered robot. One of the most dexterous. Its hands are not only tactile

Recently, the military circle has been overwhelmed by the news: US military fighter jets can now complete fully automatic air combat using AI. Yes, just recently, the US military’s AI fighter jet was made public for the first time and the mystery was unveiled. The full name of this fighter is the Variable Stability Simulator Test Aircraft (VISTA). It was personally flown by the Secretary of the US Air Force to simulate a one-on-one air battle. On May 2, U.S. Air Force Secretary Frank Kendall took off in an X-62AVISTA at Edwards Air Force Base. Note that during the one-hour flight, all flight actions were completed autonomously by AI! Kendall said - "For the past few decades, we have been thinking about the unlimited potential of autonomous air-to-air combat, but it has always seemed out of reach." However now,
