SQL | Alternative Quote Operator
Last Updated :
21 Mar, 2018
This post is a continuation of the
SQL Concatenation Operator.
Now, suppose we want to use
apostrophe in our literal value but we can't use it directly.
See
Incorrect code:
SELECT id, first_name, last_name, salary,
first_name||' has salary's '||salary
AS "new" FROM one
So above we are getting error, because Oracle server thinking that the
first apostrophe is for the
starting literal and the
second apostrophe is for the
ending literal, so what about the
third apostrophe???. That's why we get error.
Alternative Quote Operator(q)
:
To
overcome the above problem Oracle introduce an operator known as
Alternative Quote Operator(q).
Let's see through an example:
Query that uses Alternative Quote Operator(q)
SELECT id, first_name, last_name, salary,
first_name||q'{ has salary's }'||salary
AS "new" FROM myTable
Output:
See, we are able to use apostrophe in the
new column as a literal value of myTable
ID FIRST_NAME LAST_NAME SALARY new
3 Shane Watson 50000 Shane has salary's 50000
1 Rajat Rawat 10000 Rajat has salary's 10000
2 Geeks ForGeeks 20000 Geeks has salary's 20000
3 MS Dhoni 90000 MS has salary's 90000
Here above see,
q'{ indicates starting of our literal value and then we use
}' which indicates end of our literal value. So see here we have used apostrophe in our literal value easily(means we easily use
's in salary) without any error that's why we get output as Rajat has salary
's 50000.
So to use apostrophe in literal we first need to use
q which is known as
alternative quote operator after that we need to use an apostrophe
' and after that we need to use a
delimiter and after delimiter we write our literal value, when we finished writing our literal value then again we need to
close the delimiter which we have
opened before and after that we need to put an
apostrophe again and hence in this way we can use apostrophe in our literal value. This concept is known as
Alternative Quote Operator(q).
We can use
any character such as
{,
<,
(,
[,
! or any character as
delimiter. These characters are known as
delimiters.
1 another example
:
Without using Quote Operator:
Here we get Error since we are using apostrophe in our literal value directly.
Error code below:
SELECT id, name, dept, name||' work's in '||dept||'
department' AS "work" FROM myTable2
Using Quote Operator:
SELECT id, name, dept, name||q'[ work's in ']'||dept||'
department' AS "work" FROM myTable2
Output:
See, we are able to use apostrophe in the
work column as a literal value of myTable2
ID NAME DEPT work
1 RR Executive RR work's in 'Executive department
2 GFG HR GFG work's in 'HR department
3 Steve Sales Steve work's in 'Sales department
4 Bhuvi CSE Bhuvi work's in 'CSE department
Here above see,
q'[ indicates starting of our literal value and the we use
]’ which indicate end of our literal value. So see here we have used
apostrophe in our literal value easily(means we easily use
‘s in work) without any error that’s why we get output as RR
work's in Executive Department.]
Here above we use
[ as delimiter so it is
not a limitation in using delimiter means we can use any character as delimiter.
References:
About Alternative Quote Operator,
Performing SQL Queries Online
Similar Reads
SQL | Concatenation Operator The SQL concatenation operator (||) is a powerful feature that allows us to merge two or more strings into a single output. It is widely used to link columns, character strings, and literals in SQL queries. This operator makes it easier to format and present data in a user-friendly way, combining mu
3 min read
SQL LIKE Operator The SQL LIKE operator is used for performing pattern-based searches in a database. It is used in combination with the WHERE clause to filter records based on specified patterns, making it essential for any database-driven application that requires flexible search functionality.In this article, we wi
5 min read
SQL | Arithmetic Operators Prerequisite: Basic Select statement, Insert into clause, Sql Create Clause, SQL Aliases We can use various Arithmetic Operators on the data stored in the tables. Arithmetic Operators are: + [Addition] - [Subtraction] / [Division] * [Multiplication] % [Modulus] Addition (+) : It is used to perform a
5 min read
SQL NOT Operator The SQL NOT Operator is a logical operator used to negate or reverse the result of a condition in SQL queries. It is commonly used with the WHERE clause to filter records that do not meet a specified condition, helping you exclude certain values from your results.In this article, we will learn every
3 min read
SQL NOT EQUAL Operator The SQL NOT EQUAL operator is a comparison operator used to check if two expressions are not equal to each other. It helps filter out records that match certain conditions, making it a valuable tool in SQL queries.In this article, We will explore the SQL NOT EQUAL operator, including its syntax, use
4 min read
SQL BETWEEN Operator The BETWEEN operator in SQL is used to filter records within a specific range. Whether applied to numeric, text, or date columns it simplifies the process of retrieving data that falls within a particular boundary. In this article, we will explore the SQL BETWEEN operator with examples.SQL BETWEEN O
3 min read