zoukankan      html  css  js  c++  java
  • Hql

    Hql 

    where子句允许出现的表达式包括了SQL中可以使用的大多数情况:

    l         数学操作:+,-,*,/

    l         真假比较操作:=,>=,<=,<>,!=,like

    l         逻辑操作:and,or, not

    l         字符串连接:||

    l         SQL标量函数:例如upper()和lower()

    如果子查询返回多条记录,可以用以下的关键字来量化:

    l         all:表示所有的记录。

    l         any:表示所有记录中的任意一条。

    l         some:与any用法相同。

    l         in:与any等价。

    l         exists:表示子查询至少要返回一条记录。

    例如,下面语句返回所有学生的年龄都大于22的班级对象:

    from Group g where 22<all (select s.age from g.students s)

    下述语句返回在所有学生中有一个学生的年龄等于22的班级:

    from Group g where 22=any (select s.age from g.students s)

    或者

    from Group g where 22=some (select s.age from g.students s)

    或者

    from Group g where 22 in (select s.age from g.students s)

    2、对象之间无关联,可以通过theta-style join 方式进行查询

    3、Hq1中的函数:

       3.1、 subString.同C# SubString

       3.2、COALESCE:返回其参数中第一个非空表达式

              语法 
          COALESCE (expression [ ,...n ]) 

          参数 
            expression 任何类型的表达式。
            n 
              表示可以指定多个表达式的占位符。所有表达式必须是相同类型,或者可以隐性转换为相同的类型。   
            返回类型 
              将相同的值作为 expression 返回。 
            注释 
              如果所有自变量均为 NULL,则 COALESCE 返回 NULL 值。

         COALESCE(expression1,...n) 与此 CASE 函数等价: 

          CASE 
            WHEN (expression1 IS NOT NULL) THEN expression1 
              ... 
            WHEN (expressionN IS NOT NULL) THEN expressionN 
            ELSE NULL 

            3.3 ISNULL,NULLIF 。ISNULL 同数据库。

                  NULLIF 用于检测两个表达式。NULLIF(expression, expression) 。如果两个表达式相等,则返回NULL,否则返回第一个表达式

       3.4 EXTRACT  

          SELECT DATE;   96/11/07
          SELECT EXTRACT(YEAR FROM DATE);     1996
          SELECT EXTRACT(MONTH FROM DATE+30); 12
          SLEECT EXTRACT(DAY FROM DATE+2);   09
          SELECT TIME;   14:52:32
          SELECT EXTRACT(HOUR FROM TIME); 14
          SELECT EXTRACT(SECOND FROM TIME+30);   
    INVALID TIME

          3.5、Locate 。LOCATE(str1,str2 ,[,start]) 返回第一个表达式在第二个表达式中的位置。未找到返回0;任意一个为NULL 则返回NULL

       

    节选:http://www.cnblogs.com/AriLee/archive/2011/03/29/1999265.html

            http://blog.163.com/zhajie@126/blog/static/771742002010022348585/

  • 相关阅读:
    Jenkins常见的构建触发器
    NTP服务器搭建
    Jenkins钉钉通知
    Jenkins邮件通知
    升级到k8s的17.0出现问题
    推荐K8s的一键安装和一键升级
    Pipeline流水线项目构建
    Jenkins构建Maven项目
    Jenkins构建自由风格的项目
    Codeforces Round #570 (Div. 3 )A
  • 原文地址:https://www.cnblogs.com/tyb1222/p/3838508.html
Copyright © 2011-2022 走看看