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 ...
随机推荐
- 第24章 SEH结构化异常处理_异常处理及软件异常
24.1 程序的结构 (1)try/except框架 __try{ //被保护的代码块 …… } __except(except fileter/*异常过滤程序*/){ //异常处理程序 } (2) ...
- NGUI 3.x 练习
一.常用快捷键 Alt+Shitf+W 创建一个新的 Widget Alt+Shift+S 创建一个新的 Sprite Alt+Shift+L 创建一个新的 Label Alt+Shift+T 创建一 ...
- mantis安装
curl -O http://jaist.dl.sourceforge.net/project/mantisbt/mantis-stable/1.2.19/mantisbt-1.2.19.tar.gz ...
- js原生选项卡(包含移动端无缝选项卡)三
今天分享下移动端原生js的无缝轮播图: 移动端尽量减少使用DOM操作来频繁的浪费移动端设备的性能,所以这个无缝轮播图更多的使用了transition和transform,无缝的思想和昨天分享的PC端的 ...
- ftp虚拟账号登陆
配置使用虚拟用户登录的FTP服务器,可以避免使用操作系统帐号作为FTP用户带来的一些安全问题,也便于通过数据库或其它程序来进行管理.废话不多说,这里记录下ftp虚拟账号登陆的部署过程及其中遇到的问题: ...
- 【转】【Http】Http各种错误的意思
IIS状态代码的含义 当用户试图通过HTTP或文件传输协议(FTP)访问一台正在运行Internet信息服务(IIS)的服务器上的内容时,IIS返回一个表示该请求的状态的数字代码.该状态代码记录在II ...
- Studying-Swift :Day01
学习地址:http://www.rm5u.com/ 或 http://www.runoob.com/ 如果创建的是 OS X playground 需要引入 Cocoa; 如果我们想创建 ...
- 制作苹果推送通知APNS服务器证书文件
1.准备证书申请文件 打开苹果电脑实用工具里的钥匙串访问程序 选择钥匙串访问—>证书助理—>从证书颁发机构申请证书 输入邮件地址,常用名词随便命名,在这里命名为APNS 选择存储到磁盘,将 ...
- sys.stdin的三种方式
1. for line in sys.stdin: import sys sys.stdout.write('根据两点坐标计算直线斜率k,截距b:\n') for line in sys.stdin: ...
- python 转 exe -- py2exe库实录
本文基于windows 7 + python 3.4 把python程序打包成exe,比较好用的库是py2exe 其操作步骤是: --> 编写python程序 --> 再额外编写一个导入了 ...