lower-case işlev (XQuery)
Lower-case işlevi her karaktere dönüştürür $argiçin onun küçük harf eşdeğer. Microsoft Windows ikili harf dönüşüm için Unicode kod noktaları nasıl karakterler harfler küçük harfe dönüştürülür belirtir. Bu standart Unicode kod noktası standart eşlemesini özdeş değil.
Sözdizimi
fn:lower-case($arg as xs:string?) as xs:string
Bağımsız değişkenler
Terim |
Tanım |
$arg |
Alt durum Dönüştürülecek dize değeri. |
Açıklamalar
Eğer değeri $argise boş, sıfır uzunlukta bir dize döndürülür.
Örnekler
A.Bir dizeyi büyük harfe değiştirme
Aşağıdaki örnek 'abcDEF!@4' giriş dizesini değiştirir alt durum.
DECLARE @x xml = N'abcDEF!@4';
SELECT @x.value('fn:lower-case(/text()[1])', 'nvarchar(10)');
DECLARE @x xml = N'abcDEF!@4';
SELECT @x.value('fn:lower-case(/text()[1])', 'nvarchar(10)');
Sonuç kümesi buradadır.
abcdef!@4
B.Arama için belirli bir karakter dizesi
Bu örnek lower-case işlevi büyük/küçük harf duyarlı bir arama gerçekleştirmek için nasıl kullanılacağını gösterir.
USE AdventureWorks
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
USE AdventureWorks
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
Sonuç kümesi buradadır.
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>