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_2507192021012798760 THEN @pMAIN_2507192021012798761 WHEN LOWER(s.CompanyName) LIKE @pMAIN_2507192021012798762 THEN @pMAIN_2507192021012798763 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_2507192021012798764 AND o.OrderID BETWEEN @pMAIN_2507192021012798765 AND @pMAIN_2507192021012798766 OR o.OrderID BETWEEN @pMAIN_2507192021012798767 AND @pMAIN_2507192021012798768;
Parameters (If used)
Name | Value |
---|---|
@pMAIN_2507192021012798760 | united package% |
@pMAIN_2507192021012798761 | UPS |
@pMAIN_2507192021012798762 | %federal express% |
@pMAIN_2507192021012798763 | FedEx |
@pMAIN_2507192021012798764 | 4 |
@pMAIN_2507192021012798765 | 10250 |
@pMAIN_2507192021012798766 | 10260 |
@pMAIN_2507192021012798767 | 11060 |
@pMAIN_2507192021012798768 | 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 |