概述
写在提前的话,写判断条件的时候要小心负数!!!!!
Vertica
1、把csv格式的数据导入Vertica
vsql -h ip -U 用户名 -w ‘密码’-c "copy 表名from local 'xx.csv' delimiter E'分隔符(csv为逗号 ^A 为/001)' ";
2、把vertica数据导出
vsql -h ip -U 用户名-w ‘密码’ -o 导出文件名 -F '列分隔符' -R $'|-|n(行分隔符)' -c "sql语句'" -Aqt
3、在后台执行sql语句
vsql -h ip -U 用户名-w ‘密码’ -f ‘xx.sql(文件)’
在生产中vertica应该关闭了自动提交,所以要写commit;以至于不会自动断掉
4、从一个库导数到另一个库
vsql -h 要数的ip -U 要数的用户 -w '要数的密码' =>Connect to vertica 推数的实例名user 推数的用户名 password ‘推数的密码’ on ‘ip’,端口; 1、Copy 要数的库名.要数的表名 from vertica.推数的库名.推数的表名/视图 ; 2、EXPORT TO VERTICA 要数的实例名.要数的库名.要数的表名from 推数的实例名.推数的库名.推数的表名;--全量 3、EXPORT TO VERTICA 要数的实例名.要数的库名.要数的表名As sql语句--sql语句可以做筛选条件
|
5、更改字段数据类型
Alter table 表名 add column 字段名 字段类型;
(如果是numeric类型的不能直接更改只能新建表把数据重新导入)
Alter table 表名 alter column字段名set data type 新类型
6、删除字段
Alter table表名 drop column字段名;
7、修改字段名
ALTER TABLE 表名 RENAME COLUMN 原列名 TO 新列名;
8、截取整数
trunc(字段) 截取numericdecimal类型中整数的部分,并不会因为小数点后一位而四舍五入
Cast(字段 as integer) 这样截取的整数会四舍五入
9、保留小数位
Round(字段名,字段长度) 此时也会四舍五入
10、日期计算
10.1计算出日期中差的月
months_between('20190930'::date,'20190630'::date)
months_between函数返回两个日期之间的月份数。如果两个日期月份内天数相同,或者都是某个月的最后一天,返回一个整数,
否则,返回数值带小数,以每天1/31月来计算月中剩余天数
DATEDIFF (DAY,'20190630'::date,'20190930'::date)/30 这样写的话碰上瑞年的话计算相差的整数月不是整数
DATEDIFF (month,'20190630'::date,'20190929'::date) 这样写的话差几天不能用小数表示,都是整数
10.2计算出日期中差的年
DATEDIFF (DAY,'20190630'::date,'20190930'::date)/365 --这样计算如果日期之间有瑞年就不是整数了
关联的时候使用主键或唯一的值防止产生笛卡尔积,产生之后可以用distinct字段来处理
vertica在进行时间格式转换的时候建议使用‘20190202’::DATE来进行转换
不要使用类似oracle转换时间的写法 类似 to_date('','yyyy-mm-dd')这样写的话会产生一个001-01-01 BC这样的值,其他数据库不识别
最后
以上就是单薄鸵鸟为你收集整理的vertica基本常用sql写在提前的话,写判断条件的时候要小心负数!!!!!Vertica的全部内容,希望文章能够帮你解决vertica基本常用sql写在提前的话,写判断条件的时候要小心负数!!!!!Vertica所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复