
oracle
pctack
这个作者很懒,什么都没留下…
展开
-
全文搜索oracle存储过程
不多说:SELECT * FROM ALL_SOURCE where TYPE='PROCEDURE' AND lower(TEXT) LIKE lower('%keyword%');原创 2012-08-03 09:43:53 · 1563 阅读 · 0 评论 -
GOOGLE与百度经纬度互转(plsql版)
首先创建两个存储过程BAIDU2GOOGLE(百度转google)和GOOGLE2BAIDU(google转百度)。CREATE OR REPLACE PROCEDURE "BAIDU2GOOGLE"(in_lat IN OUT NUMBER,in_lng IN OUT NUMBER)IS RESULT NUMBER; V NUMBER; X NUMB原创 2015-04-15 12:09:58 · 1215 阅读 · 0 评论 -
绝对秒数与DATE互转(PLSQL版)
--将绝对秒数为1429056000转为DATESELECT TO_DATE('1970-1-1','YYYY-MM-DD')+(1429056000/(3600*24)) FROM DUAL;--将2015-4-15转为绝对秒数SELECT (TO_DATE('2015-4-15','YYYY-MM-DD') - TO_DATE('1970-1-1','YYYY-MM-DD原创 2015-04-15 13:22:36 · 6961 阅读 · 0 评论 -
oracle同音模糊查询
http://blog.itpub.net/7659204/viewspace-978423/转载 2013-12-30 13:53:24 · 744 阅读 · 0 评论 -
pl/sql中的length,substr和lengthb,substrb用法解析
oracle数据库中字符串varchar2有两种定义方式,分别是varchar2(n char)和varchar2(n byte)。但我们一般习惯定义varchar2(n),这样oracle会根据配置文件中的设置选择以字节为单位还是以字符为单位。我们可以通过pl/sql developer的命令窗口,输入"show parameter nls_length",查看当前值,如果返回值为byt原创 2013-10-12 14:29:52 · 8568 阅读 · 0 评论 -
在64位oracle服务器上使用32位oracle客户端
今天遇到一个问题,需要将一个32使用ado连接oracle数据库的程序运行在安装了64位oracle服务器的系统上,虽然32位进程能在64位系统上运行,但是32位进程不能加载64位DLL,由于oracle需要把64位的oci.dll等加到环境变量PATH里面,所以我们不能将32位的oci.dll再加到PATH里面。但是我们可以利用windows加载dll顺序(先查找当前目录,如果找不到再查找pat原创 2013-08-14 10:29:33 · 5548 阅读 · 0 评论 -
plsql处理xml特殊字符
CREATE OR REPLACE FUNCTION FilterStr(strVal VARCHAR2)RETURN VARCHAR2IS strTmp VARCHAR2(2048) := strVal;BEGIN strTmp := replace(strTmp,chr(38),chr(38)||'amp;'); --chr(38) '&' str原创 2012-10-11 12:15:42 · 1630 阅读 · 0 评论 -
Oracle中文乱码问题
前段时间发现自己维护的一个Oracle数据库出现很多中文乱码,特别是那些比较生僻的文字,在网上找了很久都没找到,后来自己经过尝试发现是瘦客户端的编码配置问题,修改系统环境变量NLS_LANG,值改为american_america.zhs16gbk问题解决。原创 2012-08-06 08:17:56 · 583 阅读 · 0 评论 -
简单去除IP地址中多余的零
在数据库中我们可能经常会遇到对一些数据进行格式化,比如IP地址,有时要为IP地址补零,有时又要为IP地址去除多余的零,今天来介绍后者,其实一般IP地址都是用点分十进制表示的,点之前后都是一个数字,只要我们先截取点间的各个数字字符,然后通过plsql的to_number将字符转化为数字就达到了去零的效果,然后我们可以将得到的数字通过to_char转化字符串,并重组即可,为此写了个存储过程,代码如下:原创 2012-08-03 09:44:28 · 2655 阅读 · 0 评论 -
IP地址字符转INT(PLSQL版)
declareval varchar2(1024);val_new varchar2(1024);i integer;p1 integer;p2 integer;p3 integer;p4 integer;ip integer;begin val := '192.168.010.017'; p1 := 0; p2原创 2015-04-17 16:03:24 · 1511 阅读 · 0 评论