Exforsys.com
 

Sponsored Links

 

SCBCD Tutorials

 
Home Certification SCBCD
 

SCBCD Study Notes : Chapter 9 : EJB-QL (Part-3)

 

SCBCD Study Notes : Chapter 9 : EJB-QL (Part-3)

Please find the Study Notes and resources which covers 3rd Part of Chapter 9 : EJB-QL, as part of the Sun Certified Business Component Developer exam CX-310-090.


3. Identify correct and incorrect conditional expressions, BETWEEN expressions, IN expressions, LIKE expressions, and comparison expressions.



Chapter 9 : EJB-QL (Part-3)

Identify correct and incorrect conditional expressions, BETWEEN expressions, IN expressions, LIKE expressions, and comparison expressions.

Conditional expressions

Conditional expressions are composed of other conditional expressions, comparison operations, logical operations, path expressions that evaluate to boolean values, and boolean literals.


Arithmetic expressions can be used in comparison expressions. Arithmetic expressions are composed of other arithmetic expressions, arithmetic operations, path expressions that evaluate to numeric values, and numeric literals.


Arithmetic operations use Java numeric promotion.


Standard bracketing () for ordering expression evaluation is supported.


BETWEEN expressions

The syntax for the use of the comparison operator [NOT] BETWEEN in an conditional expression is as follows:


arithmetic_expression [NOT] BETWEEN arithmetic-expr AND arithmetic-expr


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
p.age BETWEEN 15 AND 19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


is equivalent to


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
p.age >= 15 AND p.age <= 19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
p.age NOT BETWEEN 15 AND 19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


is equivalent to


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
p.age < 15 OR p.age > 19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


IN expressions

The syntax for the use of the comparison operator [NOT] IN in a conditional expression is as follows:


single_valued_path_expression [NOT] IN (string-literal [, string-literal]* )


The single_valued_path_expression must have a String value.


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
o.country IN ('UK', 'US', 'BY');;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


is equivalent to


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;(o.country = 'UK') OR (o.country = 'US') OR (o.country = 'BY');;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
o.country NOT IN ('UK', 'US', 'BY');;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


is equivalent to


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
NOT ((o.country = 'UK') OR (o.country = 'US') OR (o.country = 'BY'));;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


LIKE expressions

The syntax for the use of the comparison operator [NOT] LIKE in a conditional expression is as follows:


single_valued_path_expression [NOT] LIKE pattern-value [ESCAPE escape-character]


The single_valued_path_expression must have a String value. The pattern-value is a string literal in which an underscore (_) stands for ANY SINGLE character, a percent (%) character stands for ANY SEQUENCE of characters (including the empty sequence), and all other characters stand for themselves. The optional escape-character is a single character string literal and is used to escape the special meaning of the underscore and percent characters in pattern-value.


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
address.phone LIKE '12%3';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


TRUE for '123' '12993', FALSE for '1234'.


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
asentence.word LIKE 'l_se';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


TRUE for 'lose', FALSE for 'loose'.


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
aword.underscored LIKE '\_%' ESCAPE '\';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


TRUE for '_foo', FALSE for 'bar'.


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
address.phone NOT LIKE '12%3';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


TRUE for '1234', FALSE for '123' and '12993'.


NOTE, input parameters CANNOT be used in LIKE expression.


NULL comparison expressions

The syntax for the use of the comparison operator IS NULL in a conditional expression is as follows:


single_valued_path_expression IS [NOT ] NULL


A null comparison expression tests whether or not the single valued path expression is a NULL value. Path expressions containing NULL values during evaluation return NULL values.


EMPTY collection comparison expressions

The syntax for the use of the comparison operator IS EMPTY in an empty_collection_comparison_expression is as follows:


collection_valued_path_expression IS [NOT] EMPTY


This expression tests whether or not the collection designated by the collection-valued path expression is empty (i.e, has no elements). The collection designated by the collection-valued path expression used in an empty collection comparison expression MUST NOT be used in the FROM clause for the declaration of an identification variable. An identification variable declared as a member of a collection IMPLICITLY designates the existence of a non-empty relationship; testing whether the same collection is empty is CONTRADICTORY.


Collection member expressions

The syntax for the use of the comparison operator MEMBER OF in an collection_member_expression is as follows:


{single_valued_navigation | identification_variable | input_parameter } [NOT] MEMBER [OF] collection_valued_path_expression


This expression tests whether the designated value is a member of the collection specified by the collection-valued path expression.


String Functions:


  • CONCAT(String, String) returns a String
  • SUBSTRING(String, start, length) returns a String
  • LOCATE(String, String [, start]) returns an int
  • LENGTH(String) returns an int

Arithmetic Functions:


  • ABS(number) returns a number (int, float, or double)
  • SQRT(double) returns a double

________________
A
uthor: Mikalai Zaikin. Please
Click Here to visit Authors site for any updates and changes to the study notes.



Read Next: SCBCD Study Notes : Chapter 10 : Message-Driven Bean Component Contract (Part 1)



 

 

Comments



Post Your Comment:

Members Please Login
Your Name:*
e-mail ID:(required for notification)*
Image Verification: 
 
 Subscribe    

Sponsored Links

 

Subscribe via RSS


Get Daily Updates via Subscribe to Exforsys Free Training via email


Get Latest Free Training Updates delivered directly to your Inbox...

Enter your email address:


 

Subscribe to Exforsys Free Training via RSS
 

 
Partners -  Privacy and Legal Policy -  Site News -  Contact   Sitemap  

Copyright © 2000 - 2009 exforsys.com. All Rights Reserved

Page copy protected against web site content infringement by Copyscape