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_2507200219162312510) AS QuotedCompanyName,
       o.OrderID AS OrderID,
       QUOTENAME(CAST (o.OrderID AS VARCHAR), @pMAIN_2507200219162312511) AS QuotedOrderID
FROM Customers AS c
     LEFT OUTER JOIN
     Orders AS o
     ON c.CustomerID = o.CustomerID
WHERE (c.CompanyName LIKE @pMAIN_2507200219162312512
       OR c.CompanyName LIKE @pMAIN_2507200219162312513)
      AND o.OrderID BETWEEN @pMAIN_2507200219162312514 AND @pMAIN_2507200219162312515;


            
        

Parameters (If used)

Name Value
@pMAIN_2507200219162312510 [
@pMAIN_2507200219162312511 [
@pMAIN_2507200219162312512 % %
@pMAIN_2507200219162312513 %-%
@pMAIN_2507200219162312514 10600
@pMAIN_2507200219162312515 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_2507200219162422120) AS QuotedCompanyName,
       o.OrderID AS OrderID,
       QUOTENAME(CAST (o.OrderID AS VARCHAR), @pMAIN_2507200219162422121) AS QuotedOrderID
FROM Customers AS c
     LEFT OUTER JOIN
     Orders AS o
     ON c.CustomerID = o.CustomerID
WHERE (c.CompanyName LIKE @pMAIN_2507200219162422122
       OR c.CompanyName LIKE @pMAIN_2507200219162422123)
      AND o.OrderID BETWEEN @pMAIN_2507200219162422124 AND @pMAIN_2507200219162422125;


            
        

Parameters (If used)

Name Value
@pMAIN_2507200219162422120 '
@pMAIN_2507200219162422121 "
@pMAIN_2507200219162422122 % %
@pMAIN_2507200219162422123 %-%
@pMAIN_2507200219162422124 10600
@pMAIN_2507200219162422125 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"