SQL Server 2008 の場合。
次のようなクエリを実行する必要があります。
DECLARE @x AS xml
SET @x=N'<r><c>First Text</c></r><r><c>Other Text</c></r>'
SELECT @x.query('fn:max(r/c)')
しかし、何も返さない (明らかに xdt:untypedAtomic を数値に変換するため)
r/c を varchar に「キャスト」する方法は?
何かのようなもの
SELECT @x.query('fn:max(«CAST(r/c «AS varchar(20))»)')
編集: Nodes を使用した関数 MAX は、T-SQL no fn:max function からのものです。このコードでは:
DECLARE @x xml;
SET @x = '';
SELECT @x.query('fn:max((1, 2))');
SELECT @x.query('fn:max(("First Text", "Other Text"))');
query return expected: 2 と "Other Text" fn:max の両方で、文字列式をアドホックに評価できます。しかし、最初のクエリは機能しません。文字列引数を fn:max に強制する方法は?