Skip to content

Latest commit

 

History

History
118 lines (81 loc) · 3.5 KB

functions-on-string-values-lower-case.md

File metadata and controls

118 lines (81 loc) · 3.5 KB
title description author ms.author ms.date ms.service ms.subservice ms.topic helpviewer_keywords dev_langs
lower-case Function (XQuery)
Learn about the XQuery function lower-case() that converts each character in a specified string to its lower case equivalent.
rothja
jroth
03/09/2017
sql
xml
language-reference
lower-case Function (XQuery)
lower-case
XML

Functions on String Values - lower-case

[!INCLUDE SQL Server Azure SQL Database]

The lower-case function converts each character in $arg to its lower case equivalent. The Microsoft Windows binary case conversion for Unicode code points specifies how characters are converted to lower case. This standard is not identical to the mapping for Unicode code point standard.

Syntax

  
fn:lower-case($arg as xs:string?) as xs:string  

Arguments

Term Definition
$arg The string value to be converted to lower case.

Remarks

If the value of $arg is empty, a zero length string is returned.

Examples

A. Changing a string to lower case

The following example changes the input string 'abcDEF!@4' to lower case.

DECLARE @x xml = N'abcDEF!@4';  
SELECT @x.value('fn:lower-case(/text()[1])', 'nvarchar(10)');  

[!INCLUDEssResult]

abcdef!@4

B. Search for a specific character string

This example shows you how to use the lower-case function to perform a case insensitive search.

USE AdventureWorks2022;
GO  
--WITH XMLNAMESPACES clause specifies the namespace prefix  
--to use.   
WITH XMLNAMESPACES ('https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription' AS pd)  
--The XQuery contains() function is used to determine whether  
--any of the text nodes below the <Summary> element contain  
--the word 'frame'. The lower-case() function makes the   
--case insensitive.  
  
SELECT ProductModelID, CatalogDescription.query('  
      <Prod>  
         { /pd:ProductDescription/@ProductModelID }  
         { /pd:ProductDescription/pd:Summary }  
      </Prod>  
 ') as Result  
FROM Production.ProductModel  
where CatalogDescription.exist('  
/pd:ProductDescription/pd:Summary//text()[  
          contains(lower-case(.), "FRAME")]')  = 1  

[!INCLUDEssResult]

ProductModelID Result

-------------- ---------

19 <Prod ProductModelID="19">

<pd:Summary xmlns:pd="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription">

<p1:p xmlns:p1="http://www.w3.org/1999/xhtml">Our top-of-the-line competition mountain bike.

Performance-enhancing options include the innovative HL Frame,

super-smooth front suspension, and traction for all terrain.

</p1:p>

</pd:Summary>

</Prod>

25 <Prod ProductModelID="25">

<pd:Summary xmlns:pd="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription">

<p1:p xmlns:p1="http://www.w3.org/1999/xhtml">This bike is ridden by race winners. Developed with the

Adventure Works Cycles professional race team, it has a extremely light

heat-treated aluminum frame, and steering that allows precision control.

</p1:p>

</pd:Summary>

</Prod>

See Also

XQuery Functions against the xml Data Type