小编Tho*_*ner的帖子

Oracle Query - 选择end_date(可能为NULL/EMPTY)大于sysdate的行

我有Oracle表Demo_t,列的end_date值可能为null.我想选择所有end_date大于当前日期的行.

我在下面写过查询

select * from Demo_t where NVL(End_date,sysdate+3) > sysdate;
Run Code Online (Sandbox Code Playgroud)

毫无疑问,查询给出了预期的结果,但我想确保我没有遗漏某些东西,或者存在任何其他更好的解决方案.它将帮助我更好地理解Oracle数据库.

谢谢,

sql oracle

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

如何从数据库 DB2 中的字符串中仅选择字母数字字符?

如何从 DB2 数据库中的字符串中仅选择字母数字字符

\n\n

我的数据遇到问题,在我的数据中,列字段中存在字母数字字符以外的字符,其中名称列中的EXRavic\xef\xbf\x8chandr\xef\xbf\xa2an (\xef\xbf\xa2 \xef\xbf\x8c\xef\xbf\xae`)就像有很多字符一样。我需要像拉维钱德兰那样的结果。我怎样才能做到这一点?有什么办法可以通过查询删除。

\n\n

我尝试了REPLACE, TRANSLATE,ASCII函数,但是使用这些函数时出现问题,我不确定这些未知字符,我上面显示的只是示例。

\n\n

我的要求是,除了字母数字之外,必须删除。并且同一列中的 Balance 字符串应该相同。

\n\n

我怎样才能完成这件事?

\n\n

提前致谢

\n

sql db2

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

rank()在分区中具有重复值

我正在尝试在sql server中使用rank函数并在"partition by"子句中重复使用值,但我无法得到我需要的内容.这是我的查询:

select jobID, runStatus, 
rank() over (partition by runStatus order by jobID ) as rank
from table
Run Code Online (Sandbox Code Playgroud)

我得到:

jobID  runStatus  rank
10     s          9
9      s          8
8      s          7
7      s          6
6      s          5
5      s          4
4      f          1
3      s          3
2      s          2
1      s          1

但我真正需要的是:

jobID  runStatus  rank desire
10     s          6
9      s          5
8      s          4
7      s          3
6      s          2
5      s          1
4      f          1
3 …

sql sql-server

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

如何计算不同的字段并在where语句中调用它?

我试图计算表格上出现的重复数量,例如:

First| Last  | ADDR1           | City      | ST | Zip
-----+-------+-----------------+-----------+----+------
John | Smith | 1234 Fake St.   | Hollywood | CA | 12345
John | Smith | 1234 Fake St.   | Hollywood | CA | 12345
John | Smith | 1234 Fake St.   | Hollywood | CA | 12345
John | Smith | 1234 Fake St.   | Hollywood | CA | 12345
Jane | Smith | 1111 Junkertown | Phoenix   | AR | 22222
Jane | Smith | …

sql oracle select count

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

Oracle PL/SQL 可以使用动态过程名称吗?

我试图通过循环传递我想要调用的过程的名称,因为我需要连续调用 3 个类似的过程。

让我们打电话给他们:

  1. 进程_A
  2. 进程_B
  3. 进程_C

它们每个都有 1 个输入变量和 2 个输出变量。

关于我可以改变什么来让它工作的任何想法?

FOR l_counter in 1..3
LOOP
    SELECT PROC_NAME into V_PROC FROM PROC_LIST WHERE PROC_ID = l_counter;

    EXECUTE IMMEDIATE 'PROC_DB.' || V_PROC || '(1,V_STEP_ERROR_CODE,V_STEP_MSG)';
    COMMIT;
END LOOP;
Run Code Online (Sandbox Code Playgroud)

第 5 行当前失败。(立即执行)带有:“无效的 SQL 语句”

sql oracle plsql dynamic-sql

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

标签 统计

sql ×5

oracle ×3

count ×1

db2 ×1

dynamic-sql ×1

plsql ×1

select ×1

sql-server ×1