我想以秒为单位在Netezza中获取以分钟为单位的时差。
我有2栏:Start(2014-06-01 07:45:04)和finish(2014-06-01 07:46:58)事件
我尝试过使用DATEDIFF(SECOND,start,finish),但是Netezza出现错误。
我有缺少的功能吗?
Select R.*,S.*,CM.URL,DATEDIFF(SECOND,R.EVENT_DTM,S.MIN) From CTE_1 R
JOIN CTE_2 S
on S.VISIT_KEY = R.VISIT_KEY
JOIN ADMIN.VW_DIM_CME_METADATA CM on CM.CONTENT_METADATA_KEY = R.CONTENT_METADATA_KEY
Run Code Online (Sandbox Code Playgroud) 我们有一个Netezza表,其中包含以数字YYYYMMDD格式存储的日期(例如20090731).
用于将其转换为日期格式的最佳Netezza语法是什么?
例如
SELECT somefunction(20090731) as NZDATE
Run Code Online (Sandbox Code Playgroud)
?
你如何从netezza SQL中的日期中提取月份?
日期显示为05DEC2010.
我试过提取(MONTH FROM CONTACT_DATE)虽然它不起作用.任何想法?我不想只是提取一个
我正在 Netezza 中进行一些 QA,我需要比较两个单独的 SQL 语句的计数。这是我当前使用的 SQL
SELECT COUNT(*) AS RECORD_COUNT
FROM db..EXT_ACXIOM_WUL_FILE A
LEFT JOIN (select distinct CURRENTLY_OPTED_IN_FL,mid_key from db..F_EMAIL) B
ON A.MID_KEY=B.MID_KEY
MINUS
SELECT COUNT(*)
FROM db..EXT_ACXIOM_WUL_FILE A
Run Code Online (Sandbox Code Playgroud)
然而,看起来 MINUS 并不是这样工作的。当计数匹配时,Record_count 将返回 null,而不是返回 0。我基本上将记录数计算为:
record_count=count1-count2
Run Code Online (Sandbox Code Playgroud)
因此,如果计数相等则为 0,否则为差。正确的 SQL 是什么?
Netezza sql在此查询上出错:原因:无效的列名称'dummy'.
select col1,col2, '' as dummy, max(col3) from table1 group by col1,col2,dummy
Run Code Online (Sandbox Code Playgroud)
如果我从group by子句中删除虚拟,它工作正常.但是根据sql语法,我应该在group by中包含所有非聚合列.
每个人!
我试图找到如何使用或替代 Netezza/NZSQL 的 LEFT() 函数。
我需要的是获取字符串的前两个字符。我以前在TSQL中使用的代码如下:
LEFT(COLUMN_A,2) AS Column_Name
Run Code Online (Sandbox Code Playgroud)
NZSQL 中是否有类似的功能?当我输入“LEFT”时,它变成灰色,但不被识别为一个函数,并且表现得好像它错过了另一部分......
提前致谢!
我在运行更新时遇到错误,但我无法弄清楚 Netezza 中的问题出在哪里。我很感激一些帮助。
错误 [42S02] 错误:关系不存在 DEVML_WORK.AGRINSHPUN.A
update Table A
set A.COL1 = B.COL2
from A left outer join B
on A.CU_NUM=B.CU_NUM;
Run Code Online (Sandbox Code Playgroud) 我知道如何在其基本公式中使用累积和,代码如下:
Table Name: Employees
dept_id salary
-------------
10 1000
10 1000
10 2000
10 3000
20 5000
20 6000
20 NULL
SELECT dept_id,
salary,
SUM(salary) OVER(PARTITION BY dept_id
ORDER BY salary ASC
rows unbounded preceding) cum_sum
FROM Employees;
dept_id salary cum_sum
--------------------------
10 1000 1000
10 1000 2000
10 2000 4000
10 3000 7000
20 5000 5000
20 6000 11000
20 NULL 11000
Run Code Online (Sandbox Code Playgroud)
但是,如何将累积总和限制为仅前N行?例如,将累积和限制为当前行和前两行.
dept_id salary cum_sum
--------------------------
10 1000 1000
10 1000 2000
10 2000 4000
10 3000 6000 …Run Code Online (Sandbox Code Playgroud) 我可以更改 Netezza 中的数据输入格式吗?例如,每当我导入 007 或 041 或 063 等数字时,输出分别为 7 ,41,63 ,这会破坏业务需求。
很抱歉问了这么愚蠢的问题,因为我是 Netezza 的新手。
Select to_date(to_char(date_part('year',current_date),'0000') || trim(to_char(date_part('month',current_date),'00')) || '01','YYYYMMDD')
Run Code Online (Sandbox Code Playgroud)
到目前为止,这是我能想到的最好的方法。
我也无法找到包含所有功能的 Netezza SQL 的综合语言参考,因此请在您的答案中包含一个来源。