渡された文字列値のリストの中で最大のものを見つける関数が必要でした。
SQLサーバーからSelectgreatest('Abcd'、'Efgh'、'Zxy'、'EAD')として呼び出したい。Zxyを返すはずです。パラメータの数は可変です。ちなみに、これはoracleGREATEST関数と非常によく似ています。そこで、非常に単純なCLR関数(Vs2008)を作成し、それをデプロイしようとしました。下記参照
public partial class UserDefinedFunctions
{
[Microsoft.SqlServer.Server.SqlFunction]
public static SqlString Greatest(params SqlString[] p)
{
SqlString max=p[0];
foreach (string s in p)
max = s.CompareTo(max) > 0 ? s : max;
return max;
}
};
しかし、コンパイルまたはデプロイしようとすると、次のエラーが発生します。データ型SqlString[]が見つかりません。
SQL CLRを使用して私の要件を満たすことは可能ですか?