
SQL
蚁方阵
千里之行,始于足下,用代码编织技术人生
展开
-
JDBC进行批量更新的两种方式
对于跨表批量查询,我们可以采用“UNION”关键字,结合子查询还可以进行分页查询,但对于批量更新,JDBC无法对子查询视图进行更新,如下:update-- 子查询视图 (select * from t_security_menu ) as menu set back_url = 'URL_2' where pk = 2-- 提示如下错误:-- [Err] 1288 - The tar原创 2017-09-25 22:06:32 · 20381 阅读 · 0 评论 -
如何使用MYSQL TIMESTAMP字段进行时间加减运算
在数据分析过程中,想当然地对TIMESTAMP字段进行运算,导致结果谬之千里,计算公式如下:-- create_time与week_time的声明都是TIMESTAMP(), 要求精确到分钟 --SELECT (sa.create_time - sa.week_time)/(1000 * 60)from alarm_sla_1 sa当然正确的解法是利用timestampdiff函数,如下:SEL原创 2017-11-23 10:00:18 · 25318 阅读 · 5 评论 -
MYSQL中“unsigned attribute”在自增主键中的应用
公司的数据库引入在线审批功能,在创建过程中,提示如下错误: Set unsigned attribute on auto increment column in table 'alarm_sla'. 经过查阅,发现所有的整数主键都有可选的属性“UNSIGNED”(无符号),顾名思义,无符号整数只能应用与正数的情况下,并且正数的上线大约是有符号正整数上线的2倍(不要问我为什么),对原创 2017-11-23 15:16:48 · 17151 阅读 · 0 评论 -
MYSQL中空白判断无效的解决办法
在指标的编制过程中,发现死活过滤不了空白字符串,SQL语句如下:SELECT *from alarmwhere DATE_FORMAT(update_time, '%w') = 0and processer is not null 进行SQL代码调试,发现启用“processer is not null”判断语句与没有启用,效果完全差异,这是为什么呢?诊断表的设计语句,发现声明如下:ALTER原创 2017-11-22 14:32:44 · 3000 阅读 · 1 评论 -
SQL中查询“%”字符的三种方法
数据整理任务需要清除包含“%”字符的记录,经过简单的测试(基于MYSQL 5.6),大概有以下三种方法。1. 用“\”转义使用转义字符,将“%”写为“\%”,示例如下:select * from t_test where t_fr like '%\%%';写到这里,突然想到,如果记录中包含“\”字符怎么办?经过测试,在SQL中,需要连续4个“\\”才能正确表述“\”,如下:...原创 2018-08-21 18:39:39 · 32356 阅读 · 0 评论 -
Spark-SQL导出查询结果的两种方式
为了分析数据的需要,我们需要导出Spark-SQL的查询结果,通过Spark SQL CLI有两种方式。1. 使用“-e”参数与“Hive”一样,Spark SQL CLI也支持“-e”参数,使用方式如下:# 分成多行是为了便于阅读# 执行时请去掉多余的回车spark-sql --num-executors 100 -e "select * from ...原创 2018-09-06 18:07:49 · 16116 阅读 · 0 评论