Other QUOTENAME SQL function
1. Usage of QUOTENAME
SQL Server Query 1
SELECT
c.CustomerID,
c.CompanyName,
QUOTENAME(c.CompanyName) AS QuotedCompanyName,
o.OrderID,
QUOTENAME(CAST(o.OrderID AS VARCHAR)) AS QuotedOrderID
FROM
Customers c
LEFT JOIN
Orders o ON c.CustomerID = o.CustomerID
WHERE
(c.CompanyName LIKE '% %' OR c.CompanyName LIKE '%-%') AND o.OrderID BETWEEN 10600 AND 10610;
Create SQL query with SqlQueryBuilder 1
var (sql1, parameters1) = new SqlQueryBuilder()
.Select()
.Columns("c.CustomerID", "c.CompanyName")
.Column(new QUOTENAME(new Column("c.CompanyName")), "QuotedCompanyName")
.Column("o.OrderID", "OrderID")
.Column(new QUOTENAME(new CAST(new Column("o.OrderID"), SqlDataType.VARCHAR)), "QuotedOrderID")
.From("Customers", "c")
.Join(new List<IJoin>()
{
new LEFTJOIN().TableName(new Table("Orders", "o"))
.On(new Column("c.CustomerID").Equale(new Column("o.CustomerID")))
})
.Where(new Where().StartBracket().Compare(new LIKE(new Column("c.CompanyName"), "% %"))
.OR(new LIKE(new Column("c.CompanyName"), "%-%")).EndBracket()
.AND(new BETWEEN(new Column("o.OrderID"), 10600, 10610))
)
.Build();
Query build by SqlQueryBuilder 1
SELECT c.CustomerID,
c.CompanyName,
QUOTENAME(c.CompanyName, @pMAIN_2507192105571267310) AS QuotedCompanyName,
o.OrderID AS OrderID,
QUOTENAME(CAST (o.OrderID AS VARCHAR), @pMAIN_2507192105571267311) AS QuotedOrderID
FROM Customers AS c
LEFT OUTER JOIN
Orders AS o
ON c.CustomerID = o.CustomerID
WHERE (c.CompanyName LIKE @pMAIN_2507192105571267312
OR c.CompanyName LIKE @pMAIN_2507192105571267313)
AND o.OrderID BETWEEN @pMAIN_2507192105571267314 AND @pMAIN_2507192105571267315;
Parameters (If used)
Name |
Value |
@pMAIN_2507192105571267310 |
[ |
@pMAIN_2507192105571267311 |
[ |
@pMAIN_2507192105571267312 |
% % |
@pMAIN_2507192105571267313 |
%-% |
@pMAIN_2507192105571267314 |
10600 |
@pMAIN_2507192105571267315 |
10610 |
Query Results 1:
|
CustomerID |
CompanyName |
OrderID |
QuotedCompanyName |
QuotedOrderID |
1 |
HUNGC
|
Hungry Coyote Import Store
|
10600
|
[Hungry Coyote Import Store]
|
[10600]
|
2 |
HILAA
|
HILARION-Abastos
|
10601
|
[HILARION-Abastos]
|
[10601]
|
3 |
SAVEA
|
Save-a-lot Markets
|
10603
|
[Save-a-lot Markets]
|
[10603]
|
4 |
FURIB
|
Furia Bacalhau e Frutos do Mar
|
10604
|
[Furia Bacalhau e Frutos do Mar]
|
[10604]
|
5 |
MEREP
|
Mère Paillarde
|
10605
|
[Mère Paillarde]
|
[10605]
|
6 |
TRADH
|
Tradição Hipermercados
|
10606
|
[Tradição Hipermercados]
|
[10606]
|
7 |
SAVEA
|
Save-a-lot Markets
|
10607
|
[Save-a-lot Markets]
|
[10607]
|
8 |
TOMSP
|
Toms Spezialitäten
|
10608
|
[Toms Spezialitäten]
|
[10608]
|
9 |
DUMON
|
Du monde entier
|
10609
|
[Du monde entier]
|
[10609]
|
10 |
LAMAI
|
La maison d'Asie
|
10610
|
[La maison d'Asie]
|
[10610]
|
2. Usage of QUOTENAME
SQL Server Query 2
SELECT
c.CustomerID,
c.CompanyName,
QUOTENAME(c.CompanyName, '''') AS QuotedCompanyName,
o.OrderID,
QUOTENAME(CAST(o.OrderID AS VARCHAR), '"') AS QuotedOrderID
FROM
Customers c
LEFT JOIN
Orders o ON c.CustomerID = o.CustomerID
WHERE
(c.CompanyName LIKE '% %' OR c.CompanyName LIKE '%-%') AND o.OrderID BETWEEN 10600 AND 10610;
Create SQL query with SqlQueryBuilder 2
var (sql2, parameters2) = new SqlQueryBuilder()
.Select()
.Columns("c.CustomerID", "c.CompanyName")
.Column(new QUOTENAME(new Column("c.CompanyName"), "'"), "QuotedCompanyName")
.Column("o.OrderID", "OrderID")
.Column(new QUOTENAME(new CAST(new Column("o.OrderID"), SqlDataType.VARCHAR), "\""), "QuotedOrderID")
.From("Customers", "c")
.Join(new List<IJoin>()
{
new LEFTJOIN().TableName(new Table("Orders", "o"))
.On(new Column("c.CustomerID").Equale(new Column("o.CustomerID")))
})
.Where(
new Where().StartBracket().Compare(new LIKE(new Column("c.CompanyName"), "% %"))
.OR(new LIKE(new Column("c.CompanyName"), "%-%")).EndBracket()
.AND(new BETWEEN(new Column("o.OrderID"), 10600, 10610))
)
.Build();
Query build by SqlQueryBuilder 2
SELECT c.CustomerID,
c.CompanyName,
QUOTENAME(c.CompanyName, @pMAIN_2507192105571417710) AS QuotedCompanyName,
o.OrderID AS OrderID,
QUOTENAME(CAST (o.OrderID AS VARCHAR), @pMAIN_2507192105571417711) AS QuotedOrderID
FROM Customers AS c
LEFT OUTER JOIN
Orders AS o
ON c.CustomerID = o.CustomerID
WHERE (c.CompanyName LIKE @pMAIN_2507192105571417712
OR c.CompanyName LIKE @pMAIN_2507192105571417713)
AND o.OrderID BETWEEN @pMAIN_2507192105571417714 AND @pMAIN_2507192105571417715;
Parameters (If used)
Name |
Value |
@pMAIN_2507192105571417710 |
' |
@pMAIN_2507192105571417711 |
" |
@pMAIN_2507192105571417712 |
% % |
@pMAIN_2507192105571417713 |
%-% |
@pMAIN_2507192105571417714 |
10600 |
@pMAIN_2507192105571417715 |
10610 |
Query Results 2:
|
CustomerID |
CompanyName |
OrderID |
QuotedCompanyName |
QuotedOrderID |
1 |
HUNGC
|
Hungry Coyote Import Store
|
10600
|
'Hungry Coyote Import Store'
|
"10600"
|
2 |
HILAA
|
HILARION-Abastos
|
10601
|
'HILARION-Abastos'
|
"10601"
|
3 |
SAVEA
|
Save-a-lot Markets
|
10603
|
'Save-a-lot Markets'
|
"10603"
|
4 |
FURIB
|
Furia Bacalhau e Frutos do Mar
|
10604
|
'Furia Bacalhau e Frutos do Mar'
|
"10604"
|
5 |
MEREP
|
Mère Paillarde
|
10605
|
'Mère Paillarde'
|
"10605"
|
6 |
TRADH
|
Tradição Hipermercados
|
10606
|
'Tradição Hipermercados'
|
"10606"
|
7 |
SAVEA
|
Save-a-lot Markets
|
10607
|
'Save-a-lot Markets'
|
"10607"
|
8 |
TOMSP
|
Toms Spezialitäten
|
10608
|
'Toms Spezialitäten'
|
"10608"
|
9 |
DUMON
|
Du monde entier
|
10609
|
'Du monde entier'
|
"10609"
|
10 |
LAMAI
|
La maison d'Asie
|
10610
|
'La maison d''Asie'
|
"10610"
|