首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏算法之名

    Oracle迁移MySQL 8特殊SQL处理

    迁移MySQL 8,建表如下 create table nayi_180328_connect_test( dept_id varchar(50), parent_id varchar(50), 07 字符串转换日期 Oracle中 select to_date('2020-01-01','yyyy-mm-dd') from dual 结果 2020-01-01 00:00:00 MySQL 8中 Oracle中 select nvl(parent_id,'boot') from nayi_180328_connect_test where dept_id='root' 结果 boot MySQL 8中 在MySQL 8中 WITH TEMP AS( SELECT 'CHINA' NATION ,'GUANGZHOU' CITY FROM DUAL UNION ALL SELECT 'CHINA 函数,直接用 日期1-日期2 但如果日期带了时间部分,比如 select now() from dual 结果 2020-05-14 02:15:14 如果此时用带时间的日期相减会出错,可以用如下方式处理

    1.4K20发布于 2020-05-18
  • 来自专栏一个爱吃西瓜的程序员

    学习SQL【10】-SQL高级处理

    所谓高级处理,从用户的角度来讲,就是那些对数值进行排序,计算销售总额等我们熟悉的处理;从SQL的角度来讲,就是近几年才添加的新功能,这些新功能使得SQL的工作范围不断得到扩展。 OLAP是OnLine Analytical Processing的简称,意思是对数据库进行实时分析处理。 窗口函数就是为了实现OLAP而添加的标准SQL功能。 | 7 | 8 (8 行记录) 使用RANK或ROW_NUMBER是无需使用任何参数,因此只需要像RANK()这样保持括号为空就可以了。 为了避免混淆,SQL提供了一个用来判断超级分组记录的NULL的特定函数—GROUPING函数。 SQL的基础语法知识大致就是这些,如果你稍微会一点SQL,看到这些代码应该很好理解的。如果你没有编程基础,可能这些代码对于你来说过于难以理解。写的很粗糙,勉强可以用来温习SQL的语法。

    2K50发布于 2018-04-04
  • 来自专栏编程

    使用 Java 8 Stream 像操作 SQL 一样处理数据(上)

    首先,对一个集合处理的模式应该像执行SQL语言操作一样可以进行比如查询(一行交易中最大的一笔)、分组(用于消费日常用品总金额)这样的操作。 其次,我们应该怎么有效处理很大数据量的集合呢?要加速处理的理想方式是采用多核架构CPU,但是编写并行代码很难而且会出错。 Java 8 将能够完美解决这这个问题! 你可以把stream看做是一种对集合数据提高效能、提供像SQL操作一样的抽象概念,这个像SQL一样的操作可以使用lambda表达式表示。 我们可以使用limit操作将一个无穷的Stream转化为一个大小固定的stream,像下面这样: 总结 Java 8引入了Stream API,这可以让你实现复杂的数据查询处理。 这和Java 8之前使用的集合有很大的不同。 Stream有很多好处。首先,Stream API使用了注入懒加载和短回路的技术优化了数据处理查询。

    1.3K60发布于 2018-02-02
  • 来自专栏机器学习/数据可视化

    SQL进阶-10-SQL处理序列

    SQL进阶-10-用SQL处理数列 在关系型数据库的数据结构中,默认是不考虑数据的顺序。处理有序集合在SQL中不能直接实现,但是可以通过集合和谓词来间接实现处理有序数据的需求。 需求1-生成连续编号 需求 不使用数据库中自带的函数,实现任意长的连续编号序列,比如生成0-99的100个连续编号 SQL实现 先解决一个问题:00-99这100个数字中,0,1,2……9这10个数字分别出现了多少次 where seq between 1 and 12 and seq not in (select seq from Seqtab1); -- 不在查询的seq中 -- 动态地指定连续编号范围的SQL 满足要求的序列: 根据上面的图形,我们发现满足要求的序列:以n为起点,n+(3-1)=n+2为终点的作为全部是未预定状态 SQL实现-不考虑换排 -- 不考虑换排 select s1.seat as 上面代码的主要工作: 找到起点和终点 起点和终点之间的座位都是未预定的状态 全称量化问题:将所有满足条件P转成不存在不满条件P的行 SQL实现-考虑换排 给表中的数据加上了行编号row_id ?

    69010发布于 2021-03-01
  • 来自专栏Oracle数据库技术

    SQL处理流程

    概述 本章对SQL处理流程进行介绍。 SQL处理流程概要 SQL处理主要包括解析(parse)、执行(execute)、提取(fetch)几个步骤。 SQL处理的详细流程可以参考以下官方文档中的流程图: ? Database SQL Tuning Guide >About SQL Processing SQL处理主要内容: 1.解析(parse): 当应用程序执行SQL语句时,应用程序会发出解析调用(parse call)给数据库,解析调用(parse call)会打开或者创建一个游标(Cursor),并进行以下的检查: 语法检查 : 检查语句(SQL的拼写等)是否符合SQL语法。 语义检查 : 检查SQL的访问对象、访问权限等语义内容。 共享池检查:检查共享池(Shared Pool)中是否有相同SQL的解析结果(执行计划)。

    74630发布于 2020-03-25
  • 来自专栏开源部署

    Oracle SQL 异常处理

    而用户自定义异常以及预定义异常不回终止程序,但会终止该 PL/SQL 代码块,所以一个存储过程中可以有多个 PL/SQL 代码块。 关于异常的语法及定义: 什么是异常: PL/SQL用异常和异常处理器来实现错误处理 Oracle中出现错误的情形通常分为编译时错误(compile-time error)和运行时错误(run-time 异常在PL/SQL执行过程中很可能出现 对异常如果不进行处理,异常可能会中断程序的运行 捕获异常的规则: 在异常部分WHEN 子句没有数量限制 当异常抛出后,控制无条件转到异常处理部分 EXCEPTION 中错误处理的步骤: 步骤1:如果当前块中有该异常的处理器,则执行该异常处理语句块,然后控制权传递到外层语句块 步骤2:如果没有当前异常的处理器,把该异常传播给外层块。 编写PL/SQL块,使用SELECT语句将管理者编号为空的员工的姓名及工作编号显示出来,如果符合条件的员工多于一人,则返回字符串“最高管理者人员过多!”

    1K10编辑于 2022-08-17
  • 来自专栏java一日一条

    Java【8】异常处理

    异常处理机制——当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。 ① Error是错误,表示运行应用程序中出现了严重的错误,都是通过Error抛出的,一般是程序不能处理的系统错误。错误是没法处理的。 这类错误与硬件有关,大多数错误与代码编写者执行的操作无关,通常由系统进行处理,程序本身无法捕获和处理。如:当JVM耗完可用内存时,将出现OutOfMemoryError。 异常是可以被处理的! ? 异常:程序运行时,程序本身可以捕获并且可以处理的错误。 异常分为: ①运行时异常(不受检异常),一般由程序逻辑错误引起。不要求必须处理,编译器不检查。

    77220发布于 2020-07-02
  • 来自专栏网安菜鸟成长记

    sql-labs-less8|SQL注入,脚本注入

    前言: 此篇为sql-labs系列less-8,这一关使用脚本盲注,使用的sql语句跟第五关差不多,脚本写的比较烂,我也是第一次写,很基础,如果你也不会写的话可以参考一下。 本关如果注入语句执行成功页面就会显示You are in ……,如果注入语句没有被数据库执行页面无任何回显 请参考脚本: import requests url = "http://localhost/sql-labs /Less-8/? 127是ascii值对应的字符 payload = "and ascii(substr(database(),%d,1))=%d --+"%(i,j) #sql (url1) #获取sql注入生成后的页面 if "You are in..........." in res.text: #因为

    1.4K10发布于 2020-10-28
  • 来自专栏玄魂工作室

    CTF实战8 SQL注入漏洞

    是我们的第二个实战课程 我们还是那句话先 重要声明 该培训中提及的技术只适用于合法CTF比赛和有合法授权的渗透测试,请勿用于其他非法用途,如用作其他非法用途与本文作者无关 SQL注入漏洞产生的原因 SQL 那什么是SQLSQL语句 SQL(Structured Query Language) 结构化的查询语言,是关系型数据库通讯的标准语言。 注入 终止式SQL语句注入是指攻击者在注入SQL代码时,通过注释剩下的查询来成功结束该语句 于是被注释的查询不会被执行,我们还是拿上面那个例子举例 我们上面已经知道,在username框内填入 ' or 所有的输入只要和数据库进行交互的,都有可能触发SQL注入 常见的包括 Get参数触发SQL注入 POST参数触发SQL注入 Cookie触发SQL注入 没错,Cookie也是可以的 参与SQL执行的输入都有可能进行 查询语句 Web页面中有两个SQL查询语句,查询语句的列数不同 枚举数据库 最后我们来讲一下枚举数据库 SQL Server 获取当前用户名 id=12 UNION SELECT null, null

    2K30发布于 2018-07-25
  • 来自专栏机器学习/数据可视化

    SQL进阶-8-集合运算

    SQL进阶-8-利用SQL进行集合运算 SQL本身就是以集合作为基础的,本文中记录的是利用各种集合运算。 shop = s2.shop -- 指定连接条件 where s2.item is null ); 异或集(A并B)-(A交B) 异或指的是两个集合的并集除去它们的交集之外的集合:并集-交集 SQL

    65410发布于 2021-03-01
  • 来自专栏王小雷

    Spark学习之Spark SQL8

    Spark学习之Spark SQL8) 1. Spark用来操作结构化和半结构化数据的接口——Spark SQL、 2. Spark SQL的三大功能 2.1 Spark SQL可以从各种结构化数据(例如JSON、Hive、Parquet等)中读取数据。 2.2 Spark SQL不仅支持在Spark程序内使用SQL语句进行查询,也支持从类似商业智能软件Tableau这样的外部工具中通过标准数据库连接器(JDBC/ODBC)连接Spark SQL进行查询 2.3 当在Spark程序内使用Spark SQL时,Spark SQL支持SQ与常规的Python/Java/Scala代码高度整合,包括连接RDD与SQL表、公开的自定义SQL函数接口等。 3. 连接Spark SQL 带有Hive支持的Spark SQL的Maven索引 groupID =org.apache.spark artifactID = spark-hive_2.10

    1.5K70发布于 2018-01-02
  • 来自专栏Android开发指南

    8.滑动事件处理

    上面是三个viewPager相互嵌套,这么就需要对滑动事件进行处理 首先我们不需要viewpager1滑动,因为每次滑动的时候它的父控件就拦截了它的事件,侧边栏的每次滑的时候就跑了出来,所以这里是这样处理

    1.1K20编辑于 2022-01-12
  • 来自专栏mukekeheart的iOS之旅

    OC学习8——异常处理

    在进行异常捕获时,我们应该遵循“先处理小异常,再处理大异常”的原则,所以在@catch时我们应该将父类异常放在子类异常的后面,像NSException作为所有异常的根异常,应该放在最后处理。 5 @catch (NSException *exception) { 6 // 2 7 NSLog(@"%s\n%@", __FUNCTION__, exception); 8 // 7 30 NSLog(@"%s\n%@", __FUNCTION__, exception); 31 } 32 @finally { 33 // 8 >3->4 如果6没抛出异常,那么执行顺序为:1->5->7->8->9->3->4  由于tryTwo方法中对@try中的异常都进行了处理,并没有继续向上一层调用它的函数抛出异常,所以第3行的方法调用并不会抛出异常 Foundation/Foundation.h> 3 4 @interface SomethingException : NSException 5 6 @end 7 8

    2.1K60发布于 2018-02-27
  • 来自专栏Android开发指南

    8.滑动事件处理

    上面是三个viewPager相互嵌套,这么就需要对滑动事件进行处理 首先我们不需要viewpager1滑动,因为每次滑动的时候它的父控件就拦截了它的事件,侧边栏的每次滑的时候就跑了出来,所以这里是这样处理

    1.4K120发布于 2018-05-14
  • 来自专栏大数据学习与分享

    Spark SQL 小文件问题处理

    在生产中,无论是通过SQL语句或者Scala/Java等代码的方式使用Spark SQL处理数据,在Spark SQL写数据时,往往会遇到生成的小文件过多的问题,而管理这些大量的小文件,是一件非常头疼的事情 大量的小文件会影响Hadoop集群管理或者Spark在处理数据时的稳定性: 1.Spark SQL写Hive或者直接写入HDFS,过多的小文件会对NameNode内存管理等产生巨大的压力,会影响整个集群的稳定运行 此外,Spark在处理任务时,一个分区分配一个task进行处理,多个分区并行处理,虽然并行处理能够提高处理效率,但不是意味着task数越多越好。如果数据量不大,过多的task运行反而会影响效率。 同样的这种机制也可以套用到Spark SQL中的DataSet上,那么就很好解释了tmp的分区数为什么等于t1和t2的分区数的和。 最后,Spark中一个task处理一个分区从而也会影响最终生成的文件数。 当然上述只是以Spark SQL中的一个场景阐述了小文件产生过多的原因之一(分区数过多)。

    2.9K20发布于 2020-08-10
  • 来自专栏开源部署

    MySQL的SQL处理(Prepared)

    Prepared SQL Statement:SQL的执行、预编译处理语法、注意点 一、SQL 语句的执行处理 1、即时 SQL   一条 SQL 在 DB 接收到最终执行完毕返回,大致的过程如下:    执行并返回结果;   如上,一条 SQL 直接是走流程处理,一次编译,单次运行,此类普通语句被称作 Immediate Statements (即时 SQL)。 2、预处理 SQL   但是,绝大多数情况下,某需求某一条 SQL 语句可能会被反复调用执行,或者每次执行的时候只有个别的值不同(比如 select 的 where 子句值不同,update 的 set 注意:   虽然可能是通过预处理 SQL 的方式一定程度的提高了效率,但是对于优化而言,最优的执行计划不是光靠 SQL 语句的模板化来实现的,往往还是需要通过具体值来预估出成本代价。 0.00 sec) Statement prepared mysql> SET @c = 6; Query OK, 0 rows affected (0.00 sec) mysql> SET @d = 8;

    1.9K10编辑于 2022-08-17
  • 来自专栏SQL_BOY

    各类SQL日期时间处理方法

    使用的SQL多了不知道大家有没这样的困惑,SQL的语法大的方面是一致的,如SELECT,JOIN,GROUP BY等,但是在一些函数或某些特定功能处理上还是有很大差异的,而这些差异经常给大家带来困惑,尤其是一个新手从一种 SQL转到另一种SQL的时候,总是抓耳挠腮,不知所措。 今天就把大家常用的SQL语言做一个总结,来看看他们在日期时间处理方面的差异。 bigint)+28800,'yyyy-MM-dd HH:mm:ss') from table1; --两个需要注意的地方,create_time不支持string类型,只能是数值型;这里加上28800(8个小时 备注:以上列出了大家工作中常用的一些SQL在日期处理上的一些差别,可能存在部分不严谨的地方,欢迎大家指出。另外在一些功能上也不限于以上提供的方式,大家如果有更好更简洁的方式也欢迎提出。

    5.2K32发布于 2020-07-29
  • 来自专栏SQL实现

    SQL中的Null值处理

    在日常的开发中,遇到需要处理 Null 值的场景还是蛮常见的。比如,查询某个字段包含 Null 值的记录、在展示的时候将 Null 值转为其它值、聚合包含 Null 值的列等。 今天就和大家聊聊在 MySQL 中处理 Null 值时需要注意的点,本文包含以下内容: 查找 Null 值 将 Null 值转为实际值 在排序中对 Null 值的处理 计算非 Null 值的数量 聚合 比如,查询 emp 表中字段 comm 为 Null 的记录,就这么写 SQL: SELECT * FROM emp WHERE comm IS NULL 有时候根据业务需要,我们要找出在 emp 类似的,在处理字符串类型的字段的时候,我们要找出某个字段没有值的记录。假设该字段叫作 xxx,xxx 允许设置 Null 值。 比如,要求员工的平均提成,正确的 SQL 应该这么写: SELECT AVG(COALESCE(comm, 0)) AS avg_comm FROM emp 聚合的结果: avg_comm

    4.4K30发布于 2020-08-27
  • 来自专栏Hongten

    SQL SERVER事务处理

    COMMIT TRAN T1 BEGIN DISTRIBUTED TRANSACTION 指定一个由 Microsoft 分布式事务处理协调器 (MS DTC) 管理的 Transact-SQL 分布式事务的起始 为 OFF 时,只回滚产生错误的Transact-SQL 语句,而事务将继续进行处理。编译错误(如语法错误)不受 SET XACT_ABORT 的影响。 这导致语句错误使批处理终止,并使事务回滚。 在存储过程中,ROLLBACK TRANSACTION 语句不影响调用该过程的批处理中的后续语句; 将执行批处理中的后续语句。 对于导致终止批处理并生成内部回滚的错误,将释放在含有该错误语句的批处理内声明的所有游标。

    2.3K20发布于 2018-09-18
  • 来自专栏IT云清

    SQL---NULL值处理(1)

    SQL NULL 值 SQL Date SQL isnull() NULL 值是遗漏的未知数据。 默认地,表的列可以存放 NULL 值。 SQL NULL 值 如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录。这意味着该字段将以 NULL 值保存。 NULL 值的处理方式与其他值不同。 SQL 的 NULL 值处理 请看下面的 "Persons" 表: Id LastName FirstName Address City 1 Adams John London 2 Bush George SQL IS NULL 我们如何仅仅选取在 "Address" 列中带有 NULL 值的记录呢? 来源:http://www.w3school.com.cn/sql/sql_null_values.asp

    96720发布于 2019-01-16
领券