Home > Database > Mysql Tutorial > What does JDBC SQL escape syntax mean? Please explain

What does JDBC SQL escape syntax mean? Please explain

PHPz
Release: 2023-08-23 20:29:07
forward
1094 people have browsed it

JDBC SQL转义语法是什么意思?请解释一下

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'}
Copy after login

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'}
Copy after login

Where yyyy = year, mm = month; dd = date. Using this syntax {d '2009-09-03'} is March 9, 2009.

Example

//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);
Copy after login

escape keyword

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);
Copy after login

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 get the length of a string −

{fn length('Hello World')}
Copy after login

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(?)};
Copy after login

For a stored procedure that requires an IN parameter and returns an OUT parameter, use the following syntax −

{? = call my_procedure(?)};
Copy after login

ojKey Word

This keyword is used to indicate an outer connection. The syntax is as follows −

{oj outer-join}
Copy after login

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);
Copy after login

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!

source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template