我希望从字符串的末尾移除特殊字符。
输入:
looking for Oracle help ~(
looking ~! for Oracle help ~( Stack
looking ~! for Oracle help ~( Stack ##
输出:
looking for Oracle help
looking ~! for Oracle help ~( Stack
looking ~! for Oracle help ~( Stack
因此,我只需要从字符串的末尾删除非字母数字字符。
我正在寻找Oracle SQL查询来实现这一点。
我对在Oracle中根据返回的行列表中的上一行编写SQL查询感到好奇。基本上,我必须查询数据库中ID #为2460的所有行,但前一行(按日期排序)的ID #为2463。有办法这样做吗?
对不起,如果这是个令人困惑或愚蠢的问题,我是非常新的,不太擅长这类事情。我很乐意澄清任何需要澄清的事情。
谢谢!
编辑:
下面是我根据Gordon的答案运行的查询,以及我所得到的结果和我想要的结果的截图。
select *
from (select activitytranledger.*, lag(reasontype) over (order by trandate) as prev_reason from
我在Oracle SQL工作。我有一个有I和日期的表,我试图按主题找到日期之间的平均时间。看起来会是这样的。
表格
SubjectID Date
1 8/01/2013 12:00:00 AM
1 8/31/2013 12:00:00 AM
1 9/10/2013 12:00:00 AM
2 1/01/2010 12:00:00 AM
2 1/21/2010 12:00:00 AM
可以说,我需要编写一个由SubjectID遍历该表的查询,记录日期之间的时间,并输
我试图复制Oracle函数,但在我看来,并非所有的参数都存在于Instr中。我收到此错误,我希望将此转换包含在表中的"plataforma“字段中,但我不能:
SELECT
SUBSTR(a.SOURCE, 0, INSTR(a.SOURCE, '-', 1, 2) - 1) AS plataforma,
COUNT(*) AS qtd
FROM db1.table AS as a
LEFT JOIN db1.table2 AS b ON a.ID=b.id
GROUP BY SUBSTR(a.SOURCE, 0, INSTR(a.SOURCE, '-'
我试图从不同长度的SQL中的字符串中选择一个变量,但一直在努力做到这一点。
例如,字符串可能以以下形式出现:
Oracle Plug-in: Executing SQL statement: SELECT * FROM (SELECT ROW_NUMBER()
OVER ( ORDER BY "Example"."Example"
DESC,"DETAILS"."DETAILS" DESC) AS
Ranking,"Example"."FIRST_NAME" AS "FIRST_NAM
如果任何列在oracle窗体中都有空值,那么如何插入下一行。
empID city
1001 NYC
1002 DC
1003 CA
1004 NULL
1005 LA
1006 PL
在第4列中,空值在forms.If中存在,我们插入下一个值,然后将其恢复到第4行,这意味着LA移到第4行& PL转移到第5行,我们能完成插入行在Oracle中的移位吗?
由于sql技能非常有限,我只发现了一些与之略有不同的示例,无法适应自己的需要。
我有一张有三个狂欢栏的桌子:
ItemID Date Result
1 1.2.2014 A
5 6.4.2014 B
9 7.4.2014 A
1 8.4.2014 A
1 9.4.2014 A
1 10.4.2014 A
我想连续三次找到特定结果(比如说A)的项目。在上面的示例中,它将是第1项。日期通常不是连续的。
它应该在Oracle SQL中工作。
非常感谢你的帮助!
是否可以使用oracle中的分析函数(例如lag)来检查前一行,并基于2列确定这些值是否与当前行完全相同。如果是,则输出字母'Y',否则输出'N‘。
类似于:
IF prev.col1 = curr.col1 and prev.col2 = curr.col2 THEN 'Y' ELSE 'N'
我想使用这个Y或N来过滤掉我正在编写的Crystal报表中的这些记录。
我使用下面的SQL代码,其中的Id和DateTime列是相同的,我希望将它们组合在一起。Ref是不同的,在本例中,我有3个名称,具有相同的Id和DateTime。我想得到一行数据输出,如下所示: Id DateTime Ref
---------------------------------------------
3 Sep 4 2021 08:00:00 Billy Joel
Chris Farley
我想在流分析中计算连续的重复值。例如,我有一个传感器,它每秒记录值0或1。我想设置一个1分钟的滑动窗口,如果我有超过30个连续的0,我就会计数。我不能在group子句中计算0,因为它们可能不是连续的。例如,如果我有:
ID Value TimeStamp
1, 1, second 1
2, 1, second 2
3, 1, second 3
4, 1, second 4
5, 1, second 5
6, 1, second 6
7, 1, second 7
8, 0, second 8
9, 0, second 9
10, 0, second 10
11, 0, second 11
1
我知道引导和延迟函数在那里完成了获取上一次和下一次数据行的任务。我的问题是如何在旧的sql server中实现相同的目标,因为在旧的sql服务器中不存在铅和滞后。请建议使用引导和滞后函数检索上一个和下一个数据行的好方法。谢谢
Here i am sharing one example which is working fine.
Create table #test
(
ID int identity(1,1),
Quarter nvarchar(20)
)
insert into #test values
('1Q 2010'),
('
我正在处理一个SQL查询,如下所示:(按站点访问量排序)
TRAIN_ID TYPE STATION
111 'KC' New York
111 'KC' Washington
111 'KC' Boston
111 'KC' Denver
222 'FC' London
222 'FC' Paris
我想选择不同的列车,实际行必须包括第一站和最后一站,如下所示:
TRAIN_ID
维度表类型2记录随时间变化的行(SCD)。我想找出基于另一列的第一个值更改,比如date (应该是常见模式)。
例如,具有(emp_id,insert_date,status,address)的employee表,其中status表示工作、not_working、假期等(几个固定值)。比如说,这家奇怪的公司每天都在监视员工。现在我想知道员工在过去一年中什么时候开始休假的。以下内容将不起作用
select distinct empid, max(insert_date) where status = 'vacation'
where insert_date > today
出于以下几个原因,我们希望将数据从Oracle移动到SQL Server,并使其可供开发人员使用。我在上读到从Oracle NUMBER到SQL Server FLOAT的正确映射。
我们有一个关于二元有理数的问题。在Oracle中,它的值可能是5.2,而在SQL Server中似乎并非如此。(在一个字段中,有效位数可以有很大的变化。)
一位同事正在使用Access连接并查看数据问题。在SQL Server中,我对一个巨大的表进行了查询,其中一个字段等于5.2,得到的计数与Oracle相同。
select count(*) from result where samp_aliquot_size
你能帮我改正语法吗?我必须在SQL server中编写以下代码。这在Oracle数据库中工作得很好。
Select to_number(substr((((END_TS - BEGIN_TS)*(24*60*60))),1,10)) AS EXECUTION_TIME
from TABLE B
此外,END_TS和BEGIN_TS也属于datetime数据类型。
这个问题来自于我之前的。
我很好奇为什么:
select * from TPM_USER where '' = ''
但是,返回零行:
select * from TPM_USER where 1 = 1
返回表中的每一行。这是每个SQL标准,还是特定于Oracle?
Oracle
以下工作与预期一致:
PostgreSQL
SQL Server
mySQL
嗨,这是我的例子:
SELECT empno,
ename,
job,
sal,
LAG(sal, 1, 0) OVER (ORDER BY sal) AS sal_prev,
sal - LAG(sal, 1, 0) OVER (ORDER BY sal) AS sal_diff
FROM emp;
下面是输出:
EMPNO| ENAME| JOB | SAL | SAL_PREV | SAL_DIFF
-----|------|-----------------------------
我在一家体育电影分析公司工作。我们有独特的团队ID,我想找到连续数周,他们已经上传到我们的网站,从今天开始向后移动。每个上传都有自己的行,在一个单独的表中,我可以加入teamid,并有一个独特的日期,什么时候上传。到目前为止,我收集了一个简单的查询,该查询提取了每个唯一的DATEDIFF(week)值和teamid上的组。
Select teamid, MAX(weekdiff)
(Select teamid, DATEDIFF(week, dateuploaded, GETDATE()) as weekdiff
from leroy_events
group by teamid, week
我有一个大型的数据集(> 900万行),在站点上检测到单个动物的时间和位置。我想计算每一个站之间的距离,每一个动物的路径,因为它在不同的站之间旅行,以及它所花费的时间在不同的站之间。然后,我想总结一下路径各个部分的总距离和时间。
对于此数据集中的每个个体,每次在固定点检测到数据时,都会组织数据。如果个体长时间处于静止点,那么这个时期有多个记录(每隔30秒)。
我可以总结一下下面的数据,每次当一个人到达一个站点时,我可以得到1行数据(见下文)。然而,当一个人不止一次到达同一站时,输出就不识别了。
例如。
id <- c("A", "A", "A
我最近开始学习oracle和sql。在学习过程中,我遇到了几个问题,我的朋友在一次面试中被问到。
SELECT *
FROM Employees
WHERE NULL IS NULL;
此查询将生成Employees表中的所有行。正如我所理解的,Oracle在列中搜索数据,因此,NULL,这里是否将其视为列名?当我说Oracle在列中搜索数据时,是否正确?为什么Oracle会给出这个查询中的所有行?在WHERE子句中,条件的左侧不是必须是列名吗?它不应该抛出一个错误吗?
SELECT *
FROM Employees
WHERE NULL = NULL;
不提供选定的行。
嗯,我知
我有数据集,如果数据满足一定的状态,我需要计算数据的连续性。示例数据集如下所示。用例是,如果exchange id连续具有风险和不稳定状态,则在该周将计数增加1并与dataset合并。我正在用火花来尝试这个。
Date Exchange Id Status Consecutiveness
5/05/2017 a RISKY 0
5/05/2017 b Stable 0
5/05/2017 c Stable 0
5/05/2017 d UNSTABLE 0
5/05/2017 e UNKNOWN 0
5/05/2017 f U