SQL常用用法相关笔记
1)、----CAST和CONVERT的用法
SQL中的cast和convert都是用来将一种数据类型的表达式转换为另一种数据类型的表达式。
CAST和CONVERT提供相似的功能,只是语法不同。
在时间转化中一般用到convert,因为它比cast多加了一个style,可以转化成不同时间的格式。
使用 CAST:
CAST ( expression AS data_type )
使用 CONVERT:
CONVERT (data_type[(length)], expression [, style])

2)、-----修改表test的字段 a 为 a1 类型为 int
ALTER TABLE test_change CHANGE a a1 INT;
ALTER TABLE dm_pquser_exception_detail_d CHANGE id id string;

ALTER TABLE lte_qcell_grid_information CHANGE floor floor varchar(100);
alter table lte_qcell_grid_information MODIFY COLUMN floor varchar(100)

ALTER TABLE lte_qcell_grid_information change COLUMN floor floor varchar(100);

3)、-----hive sql增加字段
alter table dm_highrail_sector_lte_new_d add columns(kqi_httpwebrspdelay bigint,kqi_httpwebcmpltdelay bigint,kqi_thrput bigint,kqi_stallfrequ bigint,kqi_imsentrate bigint)

4)、-----gbase sql增加字段
alter table dm_poor_ne_1800_index_d add app_score double

5)、----查看分区
show partitions lte_netmaxl_nbi_covergrid;

6)、----删除表分区
alter table cfg_sector_c drop partition(p_provincecode=510000,p_date='2017-05-01')

7)、----排序
order by
按clttime降序排序
order by clttime desc
按msisdn分组,在分组内按clttime降序排序 ,别名给num
row_number() over(partition by msisdn order by clttime desc) as num
row_number() over(partition by msisdn order by clttime desc) as num

8)、---rand()取随机数
select rand()*10 AS flag_rand from aggr_pl_abnormal_day limit 10;
floor是把rand()取随机数取整(向下取整)
select cast(floor(rand()*10) AS int) AS flag_rand from aggr_pl_abnormal_day limit 10;
ceil是把rand()随机数向上取整

9)、----按天删除表的数据
delete dm_base_sector_c_d where day='2017-12-05';

10)、---字符串截取函数,截取imsi从第一位到最后一位
substr(imsi,1,5),
例如:截取月份:2017-10-10
select substr('2017-10-10',6,2); 返回10

11)、---coalesce取第一个不为空的值
select coalesce(null,8,9);

12)、---day函数,计算天数
比如:select day('2017-09-27'),结果为:27

13)、---在sql中获取系统实时的时间
select from_unixtime(unix_timestamp(), 'yyyy-MM-dd HH:mm:ss') as insert_time

14)、---修改mysql数据库(gbae数据库)的表的字段值
update data_board set state=1 where tablename='dm_mob_inter_app_video_ci_4g_stat_d' and day='2017-09-20';

15)、---修复表分区
msck repair table dm_mdn_imsi_ternimal

16)、----UDF注册的使用:
-- 栅格id及x,y偏移量转经纬度
create temporary function MultiGridToLonLat as 'com.gstools.impala.MultiGridToLonLat';
MultiGridToLonLat(RegionID,X_Offset,Y_Offset,100)//100为栅格的大小

-- 标准经纬度转高德经纬度
create temporary function GDLonlat as 'com.gstools.impala.GDLonlat';
GDLonlat(longitude_left_up, latitude_left_up) as left_up,
GDLonlat(longitude_right_down, latitude_right_down) as right_down,
cast(split(left_up,',')[0] as float) as longitude_left_up,
cast(split(left_up,',')[1] as float) as latitude_left_up,
cast(split(right_down,',')[0] as float) as longitude_right_down,
cast(split(right_down,',')[1] as float) as latitude_right_down,

-- 经纬度转栅格id及x,y偏移量
create temporary function MultiLonLatToGrid as 'com.gstools.impala.MultiLonLatToGrid';
-- 计算两点距离
create temporary function LonLatDistance as 'com.gstools.impala.LonLatDistance';

17)、----栅格超过20米的判断
abs(left_up_longitude-right_down_longitude)>0.0005
select
count(1)
from dm_plan_grid_agps_d where p_date='2017-04-28' and abs(left_up_longitude-right_down_longitude)>0.0005;

18)、----排查数据重复出自那个表, 检查主键是否唯一,执行改sql,显示0条,则表示主键唯一,否则主键不唯一
video_ci_lte是小区的表 :
select
enodebid,
cellid,
count(1)
from video_ci_lte where p_provincecode=510000 and reportdate='2017-10-31'
group by enodebid,cellid
having count(1)>1

转载于:https://www.cnblogs.com/hymmiaomiao/p/8691353.html

SQL常用用法相关笔记相关推荐

  1. c语言之数组数据倒序输出的快速方法和scanf的一种不常用用法的笔记

    1.异或符^可以用于两个值的互换 互换公式: a=a∧b; b=b∧a; a=a∧b; 原理在于二进制数的互换,例如a=3,b=4时,二进制a=0x0011,b=0x0100; a=a^b=0x011 ...

  2. ORACLE SQL常用用法

    1)行转列聚合 select trunc(f.month_wid / 100) as YEAR_WID,        f.emp_wid,        f.prodcat_wid,         ...

  3. Java技术:Optional 相关用法介绍笔记

    引言 在文章的开头,先说下NPE问题,NPE问题就是,我们在开发中经常碰到的NullPointerException.假设我们有两个类,他们的UML类图如下图所示 在这种情况下,有如下代码 user. ...

  4. [转]SQL Server 存储过程 一些常用用法(事物、异常捕捉、循环)

      最新更新请访问: http://denghejun.github.io Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中 ...

  5. 数据库优化:8 种常见的SQL错误用法

    作者 | db匠 来源 | http://yq.aliyun.com/articles/72501 前言 MySQL在2016年仍然保持强劲的数据库流行度增长趋势.越来越多的客户将自己的应用建立在My ...

  6. 删除mysql指令_MySQL常用命令学习笔记

    本文转载自[微信公众号:WalkingCloud,ID:WalkingCloud2018]经微信公众号授权转载,如需转载与原文作者联系 MySQL常用命令学习笔记 一.数据库相关操作 1)创建数据库 ...

  7. sql盲注 解决_sql盲注-和sql盲注相关的内容-阿里云开发者社区

    <白帽子讲WEB安全>学习笔记之第7章 注入攻击 第7章 注入攻击 SQL注入的两个条件:1,用户可以控制输入:2,原本执行的SQL语句并接了用户输入的数据. 7.1 sql注入 SQL注 ...

  8. Java各类技能知识点学习链接大全:四、数据库Sql,Mysql相关

    以下内容大多是学习链接,他人整理,个人收藏以便复习,同时归纳分享出来(如有不妥,原作者可随时联系本人删除,感谢!) 四.数据库Sql,Mysql相关 1.MySQL中锁详解(行锁.表锁.页锁.悲观锁. ...

  9. Phoenix实践 —— Phoenix SQL常用基本语法总结小记

    详细语法参见官网语法这里只给出常用的一些语法 Phoenix Shell常用的命令操作 !table --查看表信息 !describe tablename --可以查看表字段信息 !history ...

最新文章

  1. i是j的倍数c语言编程,【图片】【编程!】记录我C语言的一步步【极度恐慌漫画吧】_百度贴吧...
  2. [踏月独行]一生能有多少爱
  3. tcpip详解--端口号
  4. 机器学习实战:k-近邻算法(手写数字识别)
  5. docker mysql 日志_docker中将MySQL运行在容器中失败提示“ InnoDB : Error 22 with aio_write”的解决办法...
  6. PyTorch 和 Tensorflow 学哪个?上手简单的PyTorch考虑一下!
  7. 2012年度IT博客大赛10强花落谁家暨圆满落幕
  8. 反射_Class对象功能_获取Constructor
  9. leetcode 452. Minimum Number of Arrows to Burst Balloons | 452. 用最少数量的箭引爆气球(左程云:最大线段重合问题)
  10. android居中不父布局,在父级中,TextView不会垂直居中_android_开发99编程知识库
  11. 在linux下安装Avria(小红伞)
  12. GEE 导入shp数据-裁剪影像
  13. java项目如何运行
  14. 寻路算法 --- A星寻路算法
  15. 算法学习---- 随机森林的基本原理
  16. 算法 图3 六度空间
  17. 我不建议大家随便跳槽
  18. 分数阶微分_分数微分特征
  19. 《毕业生》系列之二 有缘无分的群硕
  20. 计算机专业编程很厉害是怎样的一种体验?

热门文章

  1. 转:Linux 僵尸进程详解
  2. GMQ区块链生态系统平行链,未来将应用于众多产业
  3. Java开发人员可以从Spring框架中学到编程技巧
  4. Java词汇表(三)L——O
  5. centos下搭建dhcp服务器
  6. tomcat绿色版及安装版修改内存大小的方法
  7. 以后装个云集群和云节点啥的太简单了(ubuntu)
  8. vim python3开发环境_[宜配屋]听图阁 - ubuntu16.04制作vim和python3的开发环境
  9. 制造业如何应用大数据
  10. 大数据分析有哪些核心技术