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_2602032250399357160) AS QuotedCompanyName,
o.OrderID AS OrderID,
QUOTENAME(CAST (o.OrderID AS VARCHAR), @pMAIN_2602032250399357161) AS QuotedOrderID
FROM Customers AS c
LEFT OUTER JOIN
Orders AS o
ON c.CustomerID = o.CustomerID
WHERE (c.CompanyName LIKE @pMAIN_2602032250399357162
OR c.CompanyName LIKE @pMAIN_2602032250399357163)
AND o.OrderID BETWEEN @pMAIN_2602032250399357164 AND @pMAIN_2602032250399357165;
Parameters (If used)
| Name |
Value |
| @pMAIN_2602032250399357160 |
[ |
| @pMAIN_2602032250399357161 |
[ |
| @pMAIN_2602032250399357162 |
% % |
| @pMAIN_2602032250399357163 |
%-% |
| @pMAIN_2602032250399357164 |
10600 |
| @pMAIN_2602032250399357165 |
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_2602032250399484700) AS QuotedCompanyName,
o.OrderID AS OrderID,
QUOTENAME(CAST (o.OrderID AS VARCHAR), @pMAIN_2602032250399484701) AS QuotedOrderID
FROM Customers AS c
LEFT OUTER JOIN
Orders AS o
ON c.CustomerID = o.CustomerID
WHERE (c.CompanyName LIKE @pMAIN_2602032250399484702
OR c.CompanyName LIKE @pMAIN_2602032250399484703)
AND o.OrderID BETWEEN @pMAIN_2602032250399484704 AND @pMAIN_2602032250399484705;
Parameters (If used)
| Name |
Value |
| @pMAIN_2602032250399484700 |
' |
| @pMAIN_2602032250399484701 |
" |
| @pMAIN_2602032250399484702 |
% % |
| @pMAIN_2602032250399484703 |
%-% |
| @pMAIN_2602032250399484704 |
10600 |
| @pMAIN_2602032250399484705 |
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"
|