Teradata SQL tips
Question:
Insert into table_name (1),(2),....
Teradata 貌似不能同时插入,只能一条一条插入,报错。
后来改为:
Insert into table_name (1);
Insert into table_name (2);
Insert into table_name (3);
...
就可以了。 但是不确定 是不是不能同时插入,还没找到确切的证据!!!
-------------------------------------------------------------
1. 系统变量
SELECT date, time, user, database
-- 当前系统日期, 系统时间, 当前登陆的用户, 当前缺省的数据库


2. Extract
Teradata中EXTRACT函数支持日期数据中选取年.月.日.从时间数据中选取小时.分钟和秒
SELECT DATE; 11/07/2014
SELECT EXTRACT(YEAR FROM DATE); 2014
SELECT EXTRACT(MONTH FROM DATE); 11
SLEECT EXTRACT(DAY FROM DATE); 07
SELECT EXTRACT(MONTH FROM DATE + 17); 12, 先date加17天,再计算month
SLEECT EXTRACT(MONTH FROM DATE) + 17; 29, 先计算month,再加上17
-----------------
SELECT TIME; 14:52:32
SELECT EXTRACT(HOUR FROM TIME); 14
SELECT EXTRACT(SECOND FROM TIME+30
---------------------------------------------------------------
时间差处理,+-interval
例如
SEL current_timestamp,
current_timestamp + interval '1' YEAR -- 年+1
current_timestamp + interval '1' MONTH -- 月+1
current_timestamp + interval '1' DAY -- 日+1
current_timestamp + interval '1' HOUR -- 时+1
current_timestamp + interval '1' MINUTE -- 分+1
3.输入参数
sp: (IN test_variable INTEGER)
调用时,写 : test_variable
----比如: WHERE group_id = : group_id
4. 调用/run某个sp
call dtv_iap_stage.rpt_run_prodqc_group(3) -- 跑group_id 为3的QC report
5. Teradata 里面的NULL 值显示为 ?
如果要把NULL 值转化为其他的,用COALESCE (num, 0) 把num中的NULL 值转化为 0
6. 有时候遇到一个关键词作为列名或者表名,
这时候识别时会出现UDFCALLNAME 错误,只要加上"" 双引号即可。
比如SELECT * FROM DTV_TARGET. "ACCOUNT"
7 Teradata 里面怎么copy表,(相当于select into)
CREATE TABLE new_name AS
(SELECT
--指明列名) WITH NO DATA; -- copy 表结构
WITH DATA; -- copy 表结构和values
此时默认的是 SET table,不允许duplicates
若要保持数据一致,CREATE MULTISET table 即可,保留duplicates
Teradata SQL tips的更多相关文章
- Teradata SQL programming
Teradata的SQL设计和Oracle真不是一个水平, 一点美感的没有. 上个世纪它靠着MPP一招鲜吃变天, 居然做了十多年数据仓库的老大, 时过境迁, 现在有不少SQL On Hadoop ...
- 【Teradata SQL】行转列函数TDStats.udfConcat
TDstats.udfConcat为Teradata自带UDF,定义如下: show function tdstats.udfconcat; REPLACE FUNCTION tdstats.UDFC ...
- TERADATA SQL学习随笔<一>
此博客内容简介及目录 http://www.cnblogs.com/weibaar/p/6644261.html 最近在TERADATA环境学习SQL.在这里记录一下学习中查过的知识点,作为备案. 目 ...
- 【Teradata SQL】字符串分割函数STRTOK和STRTOK_SPLIT_TO_TABLE
STRTOK函数: 按照指定分隔符,将字符串分割成多个部分,返回指定部分字符串. 参数说明: (1)instring:字符串或字符串表达式. (2)delimiter:分隔符列表,字符串每个字符都会做 ...
- 【Teradata SQL】使用SQL将多个逗号分隔改为一个逗号分隔
1.问题说明: //将如下字符串改为一个逗号分隔 张三,李四,王五,,,,,,六,,,,其,,,,,,,,,,,把 ==> 张三,李四,王五,六,其,把 2.解决方法 sel oreplace( ...
- Oracle SQL Tips
左连接的同时只输出关联表的一条记录 WITH X AS (SELECT 1 ID FROM DUAL UNION SELECT 2 FROM DUAL UNION SELECT 3 FROM DUAL ...
- 【Teradata SQL】从中文数字字母混合字符串中只提取数字regexp_substr
目标:从中文数字字母的字符串中只提取数字 sel regexp_substr('mint choc中文11国1','\d+')
- 【Teradata SQL】一个字段为空即取另外一个字段(连续取4个字段)-case when
目标:如果col1为空则取col2的值,如果col2也为空则取col3的值,如果col3还为则取col4的值,如果四个字段均为空则取默认值 1.数据准备 create multiset table t ...
- 【Teradata SQL】日历函数查询
查询2018年agmt_id=1076226890174464676612的,且金额类型代码为0212,每日协议金额. 1.协议金额历史表取某一日数据(20180101) sel t.start_dt ...
随机推荐
- 斯坦福大学 iOS 7应用开发 ppt
上网的找了很久都不全,最后发现原来网易那个视频下面就有完整的PPT..
- C#带cookie Post和Get方式发送数据,保持cookie
在实际编程中,可能需要读取特定网页的信息,但很多网站需要用户登录后,才能够获取相关的页面内容,这就需要编程者先临时存储当前的cookie,在C#中可以使用CookieContainer 对象来保存登录 ...
- Android 三种动画详解
[工匠若水 http://blog.csdn.net/yanbober 转载请注明出处.点我开始Android技术交流] 1 背景 不能只分析源码呀,分析的同时也要整理归纳基础知识,刚好有人微博私信让 ...
- Jython概要
1.安装jython 1.1 进入http://www.jython.org/downloads.html ,网页上会显示当前最稳定的版本(The most current stable releas ...
- JavaScript Number 对象 Javascript Array对象 Location 对象方法 String对象方法
JavaScript Number 对象 Number 对象属性 属性 描述 constructor 返回对创建此对象的 Number 函数的引用. MAX_VALUE 可表示的最大的数. MIN_V ...
- 关于第一个Java应用
一.创建Java源文件 Java应用由一个或多个扩展名为".java"的文件构成,这些文件被称为Java源文件,从编译的角度,则被称为编译单元(Compilation Unit). ...
- jqXHR 对象(post完成后再调用函数)
场景: function A() { B(); C(); } function B() { $.post(url, {}, function () { alert("我错了!"); ...
- 一些正则验证-JS
Validation = { textCount: function(field, counter, maxLimit) { var message = $(field).val(); if ($(f ...
- DRDB报错------0: Failure: (119) No valid meta-data signature found.
一. 错误 drbdadm create-md datadrbdadm up data <--启动时报错 [root@data-- ~]# drbdadm up data : Failure: ...
- C语言 百炼成钢7
//题目19:一个数如果恰好等于它的因子之和,这个数就称为“完数”.例如6=1+2+3.编程找出1000以内的所有完数. #define _CRT_SECURE_NO_WARNINGS #includ ...