The escape syntax enables you to use database-specific functionality that is not possible by using standard JDBC methods and properties.
The general SQL escape syntax format is as follows:
{keyword 'parameters'}
Following are various escape syntaxes in JDBC:
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
{d 'yyyy-mm-dd'}
Where yyyy = year, mm = month; dd = date. Using this syntax {d '2009-09-03'} is March 9, 2009.
//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);
This keyword is used to identify escape characters used in the LIKE clause. This is useful when using the SQL wildcard character %, 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.
This keyword represents scalar functions used in a DBMS. For example, you can use SQL function length to get the length of a string −
{fn length('Hello World')}
This returns 11, the length of the string 'Hello World'. Call keyword
This keyword is used to call the stored procedure. For example, for a stored procedure that requires an IN parameter, use the following syntax −
{call my_procedure(?)};
For a stored procedure that requires an IN parameter and returns an OUT parameter, use the following syntax −
{? = call my_procedure(?)};
This keyword is used to indicate an outer connection. The syntax is as follows −
{oj outer-join}
Where outer-join = table {LEFT|RIGHT|FULL} OUTERJOIN {table | outer-join} on search-condition.
String sql = "SELECT Employees FROM {oj ThisTable RIGHT OUTER JOIN ThatTable on id = '100'}"; stmt.execute(sql);
The above is the detailed content of What does JDBC SQL escape syntax mean? Please explain. For more information, please follow other related articles on the PHP Chinese website!