LOWER SQL function


1. Usage of LOWER to make some shipper lower.

SQL Server Query 1

            
SELECT   
c.CustomerID,
c.CompanyName,
LOWER(c.CompanyName) AS LowerCaseCompanyName,
o.OrderID,
CASE
WHEN LOWER(s.CompanyName) LIKE 'united package%' THEN 'UPS'
WHEN LOWER(s.CompanyName) LIKE '%federal express%' THEN 'FedEx'
ELSE LOWER(s.CompanyName)
END AS LowerCaseShipperName
FROM
Customers c
LEFT JOIN
Orders o ON c.CustomerID = o.CustomerID
LEFT JOIN
Shippers s ON o.ShipVia = s.ShipperID
WHERE LEN(c.CustomerID) > 4 AND o.OrderID BETWEEN 10250 AND 10260 OR o.OrderID BETWEEN 11060 AND 11070;

Create SQL query with SqlQueryBuilder 1

            
var (sql1, parameters1) = new SqlQueryBuilder()  
.Select()
.Columns("c.CustomerID", "c.CompanyName")
.Column(new LOWER(new Column("c.CompanyName")), "LowerCaseCompanyName")
.Columns("o.OrderID")
.Column(new CASE()
.When(new LIKE(new LOWER(new Column("s.CompanyName")), "united package%"))
.Then("UPS")
.When(new LIKE(new LOWER(new Column("s.CompanyName")), "%federal express%"))
.Then("FedEx")
.Else(new LOWER(new Column("s.CompanyName")))
, "LowerCaseShipperName")
.From("Customers", "c")
.Join(new List<IJoin>()
{
new LEFTJOIN().TableName(new Table("Orders", "o"))
.On(new Column("c.CustomerID").Equale(new Column("o.CustomerID"))),
new LEFTJOIN().TableName(new Table("Shippers", "s"))
.On(new Column("o.ShipVia").Equale(new Column("s.ShipperID")))
})
.Where(new Where(new LEN(new Column("c.CustomerID")).GreaterThan(4))
.AND(new BETWEEN(new Column("o.OrderID"), 10250, 10260))
.OR(new BETWEEN(new Column("o.OrderID"), 11060, 11070))
)
.Build();

Query build by SqlQueryBuilder 1

            
SELECT c.CustomerID,
       c.CompanyName,
       LOWER(c.CompanyName) AS LowerCaseCompanyName,
       o.OrderID,
       CASE WHEN LOWER(s.CompanyName) LIKE @pMAIN_2507200138402027850 THEN @pMAIN_2507200138402027851 WHEN LOWER(s.CompanyName) LIKE @pMAIN_2507200138402027852 THEN @pMAIN_2507200138402027853 ELSE LOWER(s.CompanyName) END AS LowerCaseShipperName
FROM Customers AS c
     LEFT OUTER JOIN
     Orders AS o
     ON c.CustomerID = o.CustomerID
     LEFT OUTER JOIN
     Shippers AS s
     ON o.ShipVia = s.ShipperID
WHERE LEN(c.CustomerID) > @pMAIN_2507200138402027854
      AND o.OrderID BETWEEN @pMAIN_2507200138402027855 AND @pMAIN_2507200138402027856
      OR o.OrderID BETWEEN @pMAIN_2507200138402027857 AND @pMAIN_2507200138402027858;


            
        

Parameters (If used)

Name Value
@pMAIN_2507200138402027850 united package%
@pMAIN_2507200138402027851 UPS
@pMAIN_2507200138402027852 %federal express%
@pMAIN_2507200138402027853 FedEx
@pMAIN_2507200138402027854 4
@pMAIN_2507200138402027855 10250
@pMAIN_2507200138402027856 10260
@pMAIN_2507200138402027857 11060
@pMAIN_2507200138402027858 11070

Query Results 1:

  CustomerID CompanyName LowerCaseCompanyName OrderID LowerCaseShipperName
1 HANAR Hanari Carnes hanari carnes 10250 UPS
2 VICTE Victuailles en stock victuailles en stock 10251 speedy express
3 SUPRD Suprêmes délices suprêmes délices 10252 UPS
4 HANAR Hanari Carnes hanari carnes 10253 UPS
5 CHOPS Chop-suey Chinese chop-suey chinese 10254 UPS
6 RICSU Richter Supermarkt richter supermarkt 10255 federal shipping
7 WELLI Wellington Importadora wellington importadora 10256 UPS
8 HILAA HILARION-Abastos hilarion-abastos 10257 federal shipping
9 ERNSH Ernst Handel ernst handel 10258 speedy express
10 CENTC Centro comercial Moctezuma centro comercial moctezuma 10259 federal shipping
11 OTTIK Ottilies Käseladen ottilies käseladen 10260 speedy express
12 FRANS Franchi S.p.A. franchi s.p.a. 11060 UPS
13 GREAL Great Lakes Food Market great lakes food market 11061 federal shipping
14 REGGC Reggiani Caseifici reggiani caseifici 11062 UPS
15 HUNGO Hungry Owl All-Night Grocers hungry owl all-night grocers 11063 UPS
16 SAVEA Save-a-lot Markets save-a-lot markets 11064 speedy express
17 LILAS LILA-Supermercado lila-supermercado 11065 speedy express
18 WHITC White Clover Markets white clover markets 11066 UPS
19 DRACD Drachenblut Delikatessen drachenblut delikatessen 11067 UPS
20 QUEEN Queen Cozinha queen cozinha 11068 UPS
21 TORTU Tortuga Restaurante tortuga restaurante 11069 UPS
22 LEHMS Lehmanns Marktstand lehmanns marktstand 11070 speedy express