Escape syntax আপনাকে ডেটাবেস-নির্দিষ্ট ফিচার ব্যবহার করার:flexibility দেয় যা স্ট্যান্ডার্ড JDBC মেথড ও প্রোপার্টি ব্যবহার করে পাওয়া যায় না।
সাধারণ SQL escape syntax ফরম্যাট:
{keyword 'parameters'}
JDBC-তে বিভিন্ন escape syntax:
d, t, ts Keywords: এগুলো date, time, এবং timestamp লিটারেল চিহ্নিত করতে সাহায্য করে। কোনো দুটি DBMS সময় ও তারিখ একরকম দেখায় না। এই escape syntax ড্রাইভারেরকে টার্গেট ডেটাবেসের ফরম্যাটে ডেট বা টাইম রেন্ডার করতে বলে।
{d 'yyyy-mm-dd'}
যেখানে yyyy = বছর, mm = মাস, dd = তারিখ। এই সিনট্যাক্স ব্যবহার করে {d '2009-09-03'} হলো ৯ মার্চ, ২০০৯।
উদাহরণ
// Statement অবজেক্ট তৈরি
stmt = conn.createStatement();
// ডেটা ইনসার্ট ==> ID, First Name, Last Name, DOB
String sql = "INSERT INTO STUDENTS VALUES" + "(100,'Zara','Ali', {d '2001-12-16'})";
stmt.executeUpdate(sql);
escape Keyword
এই কীওয়ার্ড LIKE ক্লজে ব্যবহৃত escape character চিহ্নিত করে। SQL wildcard % ব্যবহার করার সময় উপকারী, যা শূন্য বা অধিক ক্যারেক্টার ম্যাচ করে। উদাহরণ:
String sql = "SELECT symbol FROM MathSymbols WHERE symbol LIKE '\%' {escape '\'}";
stmt.execute(sql);
যদি ব্যাকস্ল্যাশ (\) ক্যারেক্টারকে escape character হিসেবে ব্যবহার করেন, তবে জাভা স্ট্রিং লিটারেলে দুটি ব্যাকস্ল্যাশ ব্যবহার করতে হবে কারণ ব্যাকস্ল্যাশ জাভাতেও escape character।
fn Keyword
এই কীওয়ার্ড DBMS-এ ব্যবহৃত স্ক্যালার ফাংশন প্রতিনিধিত্ব করে। উদাহরণস্বরূপ, SQL ফাংশন length ব্যবহার করে স্ট্রিংর দৈর্ঘ্য বের করা যায়:
{fn length('Hello World')}
এটি ১১ রিটার্ন করে, 'Hello World' ক্যারেক্টার স্ট্রিংর দৈর্ঘ্য।
call Keyword
এই কীওয়ার্ড স্টোরড প্রোসিজার কল করতে ব্যবহৃত হয়। IN প্যারামিটার থাকলে:
{call my_procedure(?)};
IN প্যারামিটার ও OUT প্যারামিটার রিটার্ন করলে:
{? = call my_procedure(?)};
oj Keyword
এই কীওয়ার্ড আউটার জয়েন নির্দেশ করতে ব্যবহৃত হয়। সিনট্যাক্স:
{oj outer-join}
যেখানে outer-join = table {LEFT|RIGHT|FULL} OUTER JOIN {table | outer-join} on search-condition।
String sql = "SELECT Employees FROM {oj ThisTable RIGHT OUTER JOIN ThatTable on id = '100'}";
stmt.execute(sql);