JDBC SQL escape syntax:

For a better understanding, I would suggest to study

JDBC SQL escape syntax:

The escape syntax gives you the flexibility to use database specific features unavailable to you by using standard JDBC methods and properties.
The general SQL escape syntax format is as follows:
{keyword 'parameters'}
Here are following escape sequences which you would find very useful while doing JDBC programming:

d, t, ts Keywords:

They help identify date, time, and timestamp literals. As you know, no two DBMSs represent time and date the same way. This escape syntax tells the driver to render the date or time in the target database's format. For Example:
{d 'yyyy-mm-dd'}
Where yyyy = year, mm = month; dd = date. Using this syntax {d '2009-09-03'} is March 9, 2009.
Here is a simple example showing how to INSERT date in a table:
//Create a Statement object
stmt = conn.createStatement();
//Insert data ==> ID, First Name, Last Name, DOB
String sql="INSERT INTO STUDENTS VALUES" +
             "(100,'Zara','Ali', {d '2001-12-16'})";
 
stmt.executeUpdate(sql);
Similarly, you can use one of the following two syntaxes, either t or ts:
{t 'hh:mm:ss'}
Where hh = hour; mm = minute; ss = second. Using this syntax {t '13:30:29'} is 1:30:29 PM.
{ts 'yyyy-mm-dd hh:mm:ss'}
This is combined syntax of the above two syntax for 'd' and 't' to represent timestamp.

escape Keyword:

This keyword identifies the escape character used in LIKE clauses. Useful when using the SQL wildcard %, which matches zero or more characters. For example:
String sql = "SELECT symbol FROM MathSymbols
              WHERE symbol LIKE '\%' {escape '\'}";
stmt.execute(sql);
If you use the backslash character (\) as the escape character, you also have to use two backslash characters in your Java String literal, because the backslash is also a Java escape character.

fn Keyword:

This keyword represents scalar functions used in a DBMS. For example, you can use SQL function length to ge the length of a string:
{fn length('Hello World')}
This returns 11, the length of the character string 'Hello World'.

call Keyword:

This keywork is used to call stored procedures. For example, for a stored procedure requiring an IN parameter, use following syntax:
{call my_procedure(?)};
For a stored procedure requiring an IN parameter and returning an OUT parameter, use following syntax:
{? = call my_procedure(?)};

oj Keyword:

This keyword is used to signify outer joins. The syntax is as follows:
{oj outer-join}
Where outer-join = table {LEFT|RIGHT|FULL} OUTERJOIN {table | outer-join} on search-condition. For example:
String sql = "SELECT Employees 
              FROM {oj ThisTable RIGHT
              OUTER JOIN ThatTable on id = '100'}";
stmt.execute(sql);

Post a Comment

Previous Post Next Post