小编Raj*_*j A的帖子

在Oracle中处理最大功能中的Null

我想比较两列中的两个日期并获得最大值然后与日期值进行比较.两列也可以保存NULL值.例如我想要下面的OUTPUT.如何使用最大的函数或者如果有什么else.I我再次使用输出来比较另一个日期.

Col A         Col  B          OUTPUT
---------------------------------------
 NULL          NULL            NULL
 09/21/2013    01/02/2012      09/21/2013
 NULL          01/03/2013      01/03/2013 
 01/03/2013    NULL            01/03/2013 
Run Code Online (Sandbox Code Playgroud)

sql oracle

9
推荐指数
5
解决办法
1万
查看次数

如何替换 或使用XMLELEMENT Oracle时的任何特殊字符

我有以下查询.如何保持撇号(')完整,而不是让它被替换为&apos 还有其他字符我也想处理&

SELECT RTRIM(xmlagg(XMLELEMENT(E,'I''m'||':')).extract('//text()'),':')
  FROM dual;
Run Code Online (Sandbox Code Playgroud)

输出:

I'm
Run Code Online (Sandbox Code Playgroud)

谢谢.

sql database oracle plsql

8
推荐指数
2
解决办法
2万
查看次数

比较两个非标准格式的地址

我必须比较两个表中的地址,并在地址匹配时获取Id.每个表都有三列Houseno,street,state在任一表中,地址都不是标准格式.有约.50,000行,我需要扫描

在一些地方它的大道.大道大道.Str街,ST.Lane Ln.放置PL Cir CIRCLE.任何与点或逗号或空格的组合,泛滥.我正在考虑将所有三个结合起来在SQL或PLSQL中可以做到最好的方法

表格1

     HNO         STR          State
     -----       -----         ----- 
      12        6th Ave         NY
      10        3rd Aven        SD
      12-11     Fouth St        NJ                         
      11        sixth Lane      NY
      A23       Main Parkway    NY
      A-21      124 th Str.     VA
Run Code Online (Sandbox Code Playgroud)

表2

      id   HNO         STR          state
     --    -----       -----         ----- 
     1      12        6 Ave.         NY
     13     10        3 Avenue       SD
     15     1121      Fouth Street   NJ                         
     33     23        9th Lane       NY
     24     X23       Main Cir.      NY
     34     A1       124th Street    VA
Run Code Online (Sandbox Code Playgroud)

sql database plsql oracle11g

5
推荐指数
1
解决办法
2274
查看次数

更新MERGE语句ORACLE中的多个列

我想在MERGE语句中更新多个列,但是对于每个列,条件是不同的.如何实现它.

我在两个表中都有超过100万行.所有列都是number.Except Id所有3列的数字都精确到18位左右,例如:1.34255353433230675

是否有更好的Update.Around 50,000行可能每天更新所以我必须将更新值合并到目标表.我试过UPDATE和FORALL,但速度很慢.

我基本上想要根据公共ID列合并差异.其他任何方法都更好?

DECLARE
TYPE test1_t IS TABLE OF test.score%TYPE INDEX BY PLS_INTEGER;
TYPE test2_t IS TABLE OF test.id%TYPE INDEX BY PLS_INTEGER;
TYPE test3_t IS TABLE OF test.Crank%TYPE INDEX BY PLS_INTEGER;
TYPE test4_t IS TABLE OF test.urank%TYPE INDEX BY PLS_INTEGER;

vscore    test1_t;
vid       test2_t;
vcrank    test3_t;
vurank    test4_t;
BEGIN
 SELECT id,score,crank,urank
 BULK   COLLECT INTO vid,vscore,vcrank,vurank
 FROM   test;

 FORALL i IN 1 .. vid.COUNT
  MERGE INTO final T
  USING      (SELECT vid (i) AS o_id,
                     vcrank (i) AS o_crank, …
Run Code Online (Sandbox Code Playgroud)

sql database oracle plsql

5
推荐指数
1
解决办法
3万
查看次数

将Ordinal Number格式转换为Number

我需要将FIRST/SECOND/THIRD/FOURTH/FIFITH ....转换为1 2 3 4 5 ....在oracle中是否有一个函数.其他方式可以如下,但我想反过来

SELECT TO_CHAR(to_date(3,'J'), 'fmJSPTH') FROM dual;
Run Code Online (Sandbox Code Playgroud)

sql database oracle plsql

4
推荐指数
1
解决办法
959
查看次数

Oracle正则表达式从表中提取行

我必须从一个表中提取行,其中列值包含除字母,数字,连字符,下划线,空格和逗号之外的任何其他内容.如果它只有上面提到的字符,它不应该拉行.谢谢您的帮助.

我正在尝试一些regexp_like,但是没有得到理想的结果.

REGEXP_LIKE(col, '[^[:alnum:]]|(^-)|(^,)|[^[:space:]]|(^_)')
Run Code Online (Sandbox Code Playgroud)

例如:

TD-6 TTY-60X3APTNO DAY  => should not retrieve
TY-2YYTY 20TRH TY L/W   => Should retrieve
TIRREG CL3- HARDWARE &  => Should retrieve
Run Code Online (Sandbox Code Playgroud)

regex sql database oracle

1
推荐指数
1
解决办法
54
查看次数

标签 统计

sql ×6

database ×5

oracle ×5

plsql ×4

oracle11g ×1

regex ×1