nullable 부울 값을 반환하는 SQLCLR 함수를 작성하려고합니다. 다음과 같은 함수를 선언하면 : public static SqlBoolean? IsTimeZoneDST(SqlString timeZone)
그러면 반환 값의 형식이 일치하지 않는다고 말하는 어셈블리를 사용할 때 오류가 발생합니다. 누락 된 항목이 있습니까? 아니면이 인스턴스에 nullable Boolean을 반환 할 수 있습니까?SQL CLR nullable 부울을 반환하는 함수
1
A
답변
1
Sql*
유형은 .Null
필드 (정적 속성)을 가지고있는 .NET의 모든 것을 의지 T-SQL 내에서 해당 데이터 유형에 대해 NULL
값으로 간주됩니다. 값이 NULL
은 지금까지 T-SQL은을 우려하고있다
.Value
가 반환됩니다 경우
.IsNull
테스트 : 또한, 여러 가지 다른 일반적인 속성과
Sql*
모든 유형의 방법이 있습니다 등SqlString
위한String
또는SqlInt32
위한int
/Int32
,
.NET nullable 형식을 사용해야하는 유일한 경우는 T-SQL DATETIME2
데이터 형식을 사용할 때입니다 (DateTime
또는 DateTime?
중 하나로 매핑 됨).
0
감사합니다. juharr. 나는 내가 간단한 것을 놓치고있을 줄 알았다. 경우 사람의 대답은 그렇지가 선언을 변경하는 것입니다 필요가있다 : 당신이 필요로 할 때 다음 public static SqlBoolean IsTimeZoneDST(SqlString timeZone)
과의 새로운 인스턴스를 생성 return SqlBoolean.Null
''SqlBoolean'은 이미''SqlBoolean.IsNull' (https://msdn.microsoft.com/en-us/library/system.data.sqltypes)을 사용하여 "null"이 될 수 있습니다. .sqlboolean.isnull (v = vs.110) .aspx) 속성. – juharr
어셈블리를 어떻게 사용하려고합니까? 오류를 throw하는 코드와 정확한 오류를 게시하십시오. – BeanFrog