CLR Method to Canonical Function Mapping
Certain CLR methods are converted to command tree canonical functions, which can be executed on the database. If a CLR method cannot be mapped to a command tree canonical function, an exception will be thrown when translation occurs.
System.String Method (Static) Mapping
System.String method (static) | Canonical function |
---|---|
System.String Concat(String str0, String str1) |
Concat(str0, str1) |
System.String Concat(String str0, String str1, String str2) |
Concat(Concat(str0, str1), str2) |
System.String Concat(String str0, String str1, String str2, String str03) |
Concat(Concat(Concat(str0, str1), str2), str3) |
Boolean Equals(String a, String b) |
= operator |
Boolean IsNullOrEmpty(String value) |
(IsNull(value)) OR Length(value) = 0 |
Boolean op_Equality(String a, String b) |
= operator |
Boolean op_Inequality(String a , String b) |
!= operator |
Microsoft.VisualBasic.Strings.Trim(String str) |
Trim(str) |
Microsoft.VisualBasic.Strings.LTrim(String str) |
Ltrim(str) |
Microsoft.VisualBasic.Strings.RTrim(String str) |
Rtrim(str) |
Microsoft.VisualBasic.Strings.Len(String expression) |
Length(expression) |
Microsoft.VisualBasic.Strings.Left(String str, Int32 Length) |
Left(str, Length) |
Microsoft.VisualBasic.Strings.Mid(String str, Int32 Start, Int32 Length) |
Substring(str, Start, Length) |
Microsoft.VisualBasic.Strings.Right(String str, Int32 Length) |
Right(str, Length) |
Microsoft.VisualBasic.Strings.UCase(String Value) |
ToUpper(Value) |
Microsoft.VisualBasic.Strings.LCase(String Value) |
ToLower(Value) |
System.String Method (Instance) Mapping
System.String method (instance) | Canonical function | Notes |
---|---|---|
Boolean Contains(String value) |
IndexOf(this, value) > 0 |
|
Boolean EndsWith(String value) |
Right(this, length(value)) = value |
|
Boolean StartsWith(String value) |
IndexOf(this, value) = 1 |
|
Int32 get_Length() |
Length(this) |
|
Int32 IndexOf(String value) |
IndexOf(this, value) - 1 |
|
System.String Insert(Int32 startIndex, String value) |
Concat(Concat(Substring(this, 1, startIndex), value), Substring(this, startIndex+1, Length(this) - startIndex)) |
|
System.String Remove(Int32 startIndex) |
Substring(this, 1, startIndex) |
|
System.String Remove(Int32 startIndex, Int32 count) |
Concat(Substring(this, 1, startIndex) , Substring(this, startIndex + count +1, Length(this) - (startIndex + count))) |
Remove(startIndex, count) is only supported if count is an integer greater than or equal to 0. |
System.String Replace(String oldValue, String newValue) |
Replace(this, oldValue, newValue) |
|
System.String Substring(Int32 startIndex) |
Substring(this, startIndex +1, Length(this) - startIndex) |
|
System.String Substring(Int32 startIndex, Int32 length) |
Substring(this, startIndex +1, length) |
|
System.String ToLower() |
ToLower(this) |
|
System.String ToUpper() |
ToUpper(this) |
|
System.String Trim() |
Trim(this) |
|
System.String TrimEnd(Char[] trimChars) |
RTrim(this) |
|
System.String TrimStart(Char[]trimChars) |
LTrim(this) |
|
Boolean Equals(String value) |
= operator |
System.DateTime Method (Static) Mapping
System.DateTime method (static) | Canonical function | Notes |
---|---|---|
Boolean Equals(DateTime t1, DateTime t2) |
= operator |
|
System.DateTime get_Now() |
CurrentDateTime() |
|
System.DateTime get_UtcNow() |
CurrentUtcDateTime() |
|
Boolean op_Equality(DateTime d1, DateTime d2) |
= operator |
|
Boolean op_GreaterThan(DateTime t1, DateTime t2) |
> operator |
|
Boolean op_GreaterThanOrEqual(DateTime t1, DateTime t2) |
>= operator |
|
Boolean op_Inequality(DateTime t1, DateTime t2) |
!= operator |
|
Boolean op_LessThan(DateTime t1, DateTime t2) |
< operator |
|
Boolean op_LessThanOrEqual(DateTime t1, DateTime t2) |
<= operator |
|
Microsoft.VisualBasic.DateAndTime.DatePart( _ ByVal Interval As DateInterval, _ ByVal DateValue As DateTime, _ Optional ByVal FirstDayOfWeekValue As FirstDayOfWeek = VbSunday, _ Optional ByVal FirstWeekOfYearValue As FirstWeekOfYear = VbFirstJan1 _ ) As Integer |
See the DatePart Function section for more information. |
|
Microsoft.VisualBasic.DateAndTime.Now |
CurrentDateTime() |
|
Microsoft.VisualBasic.DateAndTime.Year(DateTime TimeValue) |
Year() |
|
Microsoft.VisualBasic.DateAndTime.Month(DateTime TimeValue) |
Month() |
|
Microsoft.VisualBasic.DateAndTime.Day(DateTime TimeValue) |
Day() |
|
Microsoft.VisualBasic.DateAndTime.Hour(DateTime TimeValue) |
Hour() |
|
Microsoft.VisualBasic.DateAndTime.Minute(DateTime TimeValue) |
Minute() |
|
Microsoft.VisualBasic.DateAndTime.Second(DateTime TimeValue) |
Second() |
System.DateTime Method (Instance) Mapping
System.DateTime method (instance) | Canonical function |
---|---|
Boolean Equals(DateTime value) |
= operator |
Int32 get_Day() |
Day(this) |
Int32 get_Hour() |
Hour(this) |
Int32 get_Millisecond() |
Millisecond(this) |
Int32 get_Minute() |
Minute(this) |
Int32 get_Month() |
Month(this) |
Int32 get_Second() |
Second(this) |
Int32 get_Year() |
Year(this) |
System.DateTimeOffset Method (Instance) Mapping
System.DateTimeOffset method (instance) | Canonical function | Notes |
---|---|---|
Int32 get_Day() |
Day(this) |
Not supported against SQL Server 2005. |
Int32 get_Hour() |
Hour(this) |
Not supported against SQL Server 2005. |
Int32 get_Millisecond() |
Millisecond(this) |
Not supported against SQL Server 2005. |
Int32 get_Minute() |
Minute(this) |
Not supported against SQL Server 2005. |
Int32 get_Month() |
Month(this) |
Not supported against SQL Server 2005. |
Int32 get_Second() |
Second(this) |
Not supported against SQL Server 2005. |
Int32 get_Year() |
Year(this) |
Not supported against SQL Server 2005. |
System.DateTimeOffset Method (Static) Mapping
System.DateTimeOffset method (static) | Canonical function | Notes |
---|---|---|
System.DateTimeOffset get_Now() |
CurrentDateTimeOffset() |
Not supported against SQL Server 2005. |
System.TimeSpan Method (Instance) Mapping
System.TimeSpan method (instance) | Canonical function | Notes |
---|---|---|
Int32 get_Hours() |
Hour(this) |
Not supported against SQL Server 2005. |
Int32 get_Milliseconds() |
Millisecond(this) |
Not supported against SQL Server 2005. |
Int32 get_Minutes() |
Minute(this) |
Not supported against SQL Server 2005. |
Int32 get_Seconds() |
Second(this) |
Not supported against SQL Server 2005. |
DatePart Function
The DatePart Function is mapped to one of several different canonical functions, depending on the value of Interval. The following table displays the canonical function mapping for the supported values of Interval:
Interval value | Canonical function |
---|---|
DateInterval.Year |
Year() |
DateInterval.Month |
Month() |
DateInterval.Day |
Day() |
DateInterval.Hour |
Hour() |
DateInterval.Minute |
Minute() |
DateInterval.Second |
Second() |
Mathematical Function Mapping
CLR method | Canonical function |
---|---|
System.Decimal.Ceiling(Decimal d) |
Ceiling(d) |
System.Decimal.Floor(Decimal d) |
Floor(d) |
System.Decimal.Round(Decimal d) |
Round(d) |
System.Math.Ceiling(Decimal d) |
Ceiling(d) |
System.Math.Floor(Decimal d) |
Floor(d) |
System.Math.Round(Decimal d) |
Round(d) |
System.Math.Ceiling(Double a) |
Ceiling(a) |
System.Math.Floor(Double a) |
Floor(a) |
System.Math.Round(Double a) |
Round(a) |
Bitwise Operator Mapping
Bitwise operator | Canonical function for non-Boolean operands | Canonical function for Boolean operands |
---|---|---|
Bitwise AND operator |
BitWiseAnd |
op1 AND op2 |
Bitwise OR operator |
BitWiseOr |
op1 OR op2 |
Bitwise NOT operator |
BitWiseNot |
NOT(op) |
Bitwise XOR operator |
BitWiseXor |
((op1 AND NOT(op2)) OR (NOT(op1) AND op2)) |