Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

JDBC SQL 이스케이프 구문 설명이란 무엇입니까?

<시간/>

이스케이프 구문을 사용하면 표준 JDBC 메서드 및 속성을 사용하여 사용할 수 없는 데이터베이스 특정 기능을 유연하게 사용할 수 있습니다.

일반적인 SQL 이스케이프 구문 형식은 다음과 같습니다.

{keyword 'parameters'}

다음은 JDBC의 다양한 이스케이프 구문입니다.

d, t, ts 키워드: 날짜, 시간 및 타임스탬프 리터럴을 식별하는 데 도움이 됩니다. 아시다시피, 두 개의 DBMS가 동일한 방식으로 시간과 날짜를 표시하지 않습니다. 이 이스케이프 구문은 드라이버가 대상 데이터베이스의 형식으로 날짜 또는 시간을 렌더링하도록 지시합니다.

{d 'yyyy-mm-dd'}

여기서 yyyy =연도, mm =월; dd =날짜. 이 구문을 사용하는 {d '2009-09-03'}은 2009년 3월 9일입니다.

예시

//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);

이스케이프 키워드

이 키워드는 LIKE 절에 사용된 이스케이프 문자를 식별합니다. 0개 이상의 문자와 일치하는 SQL 와일드카드 %를 사용할 때 유용합니다. 예를 들어 -

String sql = "SELECT symbol FROM MathSymbols WHERE symbol LIKE '\%' {escape '\'}";
stmt.execute(sql);

백슬래시 문자(\)를 이스케이프 문자로 사용하는 경우 백슬래시도 Java 이스케이프 문자이기 때문에 Java String 리터럴에 두 개의 백슬래시 문자를 사용해야 합니다.

fn 키워드

이 키워드는 DBMS에서 사용되는 스칼라 함수를 나타냅니다. 예를 들어 SQL 함수 길이 를 사용할 수 있습니다. 문자열의 길이를 얻으려면 -

{fn length('Hello World')}

문자열 'Hello World'의 길이인 11을 반환합니다. 키워드 호출

이 키워드는 저장 프로시저를 호출하는 데 사용됩니다. 예를 들어, IN 매개변수가 필요한 저장 프로시저의 경우 다음 구문을 사용하십시오. -

{call my_procedure(?)};

IN 매개변수가 필요하고 OUT 매개변수를 반환하는 저장 프로시저의 경우 다음 구문을 사용하십시오. -

{? = call my_procedure(?)};

oj 키워드

이 키워드는 외부 조인을 나타내는 데 사용됩니다. 구문은 다음과 같습니다 -

{oj outer-join}

여기서 외부 조인 =테이블 {LEFT|RIGHT|FULL} OUTERJOIN {테이블 | 외부 조인} on search-condition.

String sql = "SELECT Employees FROM {oj ThisTable RIGHT OUTER JOIN ThatTable on id = '100'}";
stmt.execute(sql);