入力として DateTime2 を受け取り、別の DateTime2 を返す SQLCLR 関数を作成しようとしています。この投稿に基づいて、パラメーターを C# 型の DateTime に変更し、必要な精度のレベルを提供しました。ただし、入力は null になる可能性があるため、DateTime にしたいと思いますか?; 戻り型も。
using System;
using Microsoft.SqlServer.Server;
namespace SqlServer.Functions {
public class UserDefinedFunctions {
[SqlFunction(DataAccess = DataAccessKind.None)]
public static DateTime? GetLocalTimeFromGMT(DateTime? dateTime) {
if (dateTime.HasValue)
return DateTime.SpecifyKind(dateTime.Value, DateTimeKind.Utc).ToLocalTime();
else
return (DateTime?)null;
}
}
}
問題は、デプロイしようとすると次のエラーが発生することです。
エラー 1 タイプ 'Nullable`1' が見つかりません。存在しないか権限がないためです。SqlServer.関数
Sql Server 2008 と Visual Studio 2008 を使用しています。