oracle怎么截取long类型,如何把long类型的值取出来
貌似to_clob也不行,看看tom这个
You Asked
Can you perform string functions on the datatype LONG?
and we said...
In PLSQL yes -- in SQL no.
If the long is 32k or less, you can do some interesting things in PLSQL. Lets say you
have a table T with a long column like this:
ops$tkyte@8i> create table t ( x int, y long );
Table created.
ops$tkyte@8i> insert into t values ( 1, 'how now brown cow' );
1 row created.
ops$tkyte@8i> select substr( y, 1, 5 ) from t;
select substr( y, 1, 5 ) from t
*
ERROR at line 1:
ORA-00932: inconsistent datatypes
ops$tkyte@8i> create or replace function t_substr
( p_rowid in rowid,
p_from in number,
p_for in number ) return varchar2
2 as
3 l_str long;
4 begin
5 select y into l_str from t where rowid = p_rowid;
6
7 return substr( l_str, p_from, p_for );
8 end;
9 /
Function created.
ops$tkyte@8i> select t_substr( rowid, 1, 5 ) from t;
T_SUBSTR(ROWID,1,5)
------------------------------
how n
So, for longs that are 32k or less, we can write functions that are callable in SQL to
allow us to do some operations on these long columns.
Additionally -- we can use dbms_sql to READ longs (but not write) them that are of any
size. We would piecewise read them. You cannot call a function that uses dbms_sql from
SQL as did above but you can use it in any other procedure/function you write. Here is
an example of a piecewise read of a long in plsql:
create or replace procedure showlong( p_query in varchar2 )
as
l_cursor integer default dbms_sql.open_cursor;
l_n number;
l_long_val varchar2(250);
l_long_len number;
l_buflen number := 250;
l_curpos number := 0;
begin
dbms_sql.parse( l_cursor, p_query, dbms_sql.native );
dbms_sql.define_column_long(l_cursor, 1);
l_n := dbms_sql.execute(l_cursor);
if (dbms_sql.fetch_rows(l_cursor)>0)
then
loop
dbms_sql.column_value_long(l_cursor, 1, l_buflen, l_curpos ,
l_long_val, l_long_len );
l_curpos := l_curpos + l_long_len;
dbms_output.put_line( l_long_val );
exit when l_long_len = 0;
end loop;
end if;
dbms_output.put_line( '====================' );
dbms_output.put_line( 'Long was ' || l_curpos || ' bytes in length' );
dbms_sql.close_cursor(l_cursor);
exception
when others then
if dbms_sql.is_open(l_cursor) then
dbms_sql.close_cursor(l_cursor);
end if;
htp.preClose;
raise;
end showlong;
/
set echo on
begin
showlong( 'select text from all_views where rownum = 1' );
end;
/
oracle怎么截取long类型,如何把long类型的值取出来相关推荐
- oracle clob截取_Oracle数据库设计规范建议
Oracle-数据库设计规范建议 来源于项目资料 目的 本规范的主要目的是希望规范数据库设计,尽量提前避免由于数据库设计不当而产生的麻烦:同时好的规范,在执行的时候可以培养出好的习惯,好的习惯是软件质 ...
- ORACLE字符串截取函数trim(),ltrim(),rtrim()
1.TRIM([[LEADING||TRAILING||BOTH] c2 FROM] c1). 看起来很复杂,理解起来很简单: (1)如果没有指定任何参数则oracle去除c1头尾空格 例如:SELE ...
- Oracle预定义的21个系统异常类型
Oracle预定义的21个系统异常类型 参考文章: (1)Oracle预定义的21个系统异常类型 (2)https://www.cnblogs.com/lonelywolfmoutain/p/4234 ...
- oracle有几种类型表空间,oracle 数据创建时如何指定表空间类型
oracle建表时指定了表空间为何没起作用? oracle 12c /windows ,实验过程如下: 1.建第一个表空间data_tbs_01,数可以直接在创建语句后面追加"tablesp ...
- oracle怎么从右边截取,Oracle 字符串截取 从后向前截取方法
Oracle 字符串截取 从后向前截取方法 INSTR:INSTR方法的格式为 INSTR(源字符串, 目标字符串, 起始位置, 匹配序号) 默认查找顺序为从左到右.当起始位置为负数的时候,从右边开始 ...
- oracle将其他字段类型改为clob类型方法
oracle将其他字段类型改为clob类型方法 FIELD_INSTANCE 表名 FIELD_STRING_VALUE 字段名 第一步:添加一个clob类型的字段 alter table FIELD ...
- Oracle/MSSQL/Mysql 常用数据库的字段类型及大小
Oracle/MSSQL/Mysql 常用数据库的字段类型及大小 ORACLE的数据类型 常用的数据库字段类型如下: 字段类型 中文说明 限制条件 其它说明 CHAR 固定长度字 ...
- 常见oracle数据类型及其在java中的对应类型
SQL数据类型 JDBC类型代码 标准的Java类型 Oracle扩展的Java类型 1.0标准的JDBC类型: CHAR java.sql.Types.CHAR java.lang.String o ...
- 查询oracle表中的字段名和字段类型
查询oracle表中的字段名和字段类型 SELECT b.column_name column_name --字段名,b.data_type data_type --字段类型,b.data_lengt ...
- 无法将类型为“Oracle.DataAccess.Client.OracleParameter”的对象强制转换为类型
无法将类型为"Oracle.DataAccess.Client.OracleParameter"的对象强制转换为类型"Oracle.DataAccess.Client.O ...
最新文章
- 【FFmpeg】RTSP、RTMP相关命令及开源项目
- 广联达5代锁与4代锁有何区别_BVVB是什么线?BV与BVVB有何区别?
- 深入理解Java:注解
- 使用Spring MVC应用程序配置嵌入式H2控制台
- url 函数 php,php中url处理函数总结
- NGUI_2.6.3_系列教程三
- 展示全面快速响应能力 华为全线解决方案亮相北京国际通信展
- BP神经网络预测实例(matlab代码,神经网络工具箱)
- 电力电子转战数字IC20220610day21——杂七杂八
- 华为USG6000防火墙基础配置简介
- 网络视频广告今年起步
- 地铁视频监控系统中无线监控技术的应用
- MongoDB中shell基本使用
- Maven项目集成cxf框架发布WebService
- MATLAB 仿真 n年后的比例,基于Matlab的比例导引弹道仿真分析.PDF
- Spark Streaming架构介绍_大数据培训
- android 应用图标 角标 显示未读消息
- x264中码率控制(二)x264_ratecontrol_start函数
- linux SSD 硬盘优化
- visio和preject冲突_Office 365 和 Visio Project Pro 2019 共存安装方法
热门文章
- 孤独的根号三 (Missing NUMBER)
- 关于fiddle开启https证书协议源码
- 用计算机教学体育,体育教学中计算机的应用
- 谈小学计算机教学,浅谈小学计算机教学方法
- macbook pro下载速度慢的解决方法
- 什么是 P2P、P2C 、O2O 、B2C、B2B、 C2C
- 尝试说透网关和路由器的异同
- iPad 上播放 2160p (4K) mkv 视频的方法
- php网站banner图片切换,最简单的Banner轮播左右切换效果代码及实现思路(附带源码)...
- Saas平台接入商户代小程序开发解决方案