.NET Framework  This feature is not supported by the .NET Framework implementation of the Data Provider.

Below is a list of Common Language Runtime (CLR) methods and properties and LINQ to Entities functions supported by the EFCore Provider. The Teradata SQL function or statement into which they are interpreted is also listed.

Aggregate Method Teradata SQL Function Supported
Average(expression) AVG(expression) YES
Count(expression) COUNT(expression) YES
Max(expression) MAX(expression) YES
Min(expression) MIN(expression) YES
Sum(expression) SUM(expression) YES
Math Method Teradata SQL Function Supported
Abs(value) ABS(value) YES
Acos(value) ACOS(value) YES
Asin(value) ASIN(value) YES
Atan(value) ATAN(value) YES
Atan2(y, x) ATAN2(x, y) YES
Ceiling(value) CEIL(value) YES
Cos(value) COS(value) YES
Exp(value) EXP(value) YES
Floor(value) FLOOR(value) YES
Log(value) LN(value) YES
Min(value1, value2) LEAST(value1, value2) YES
Max(value1, value2) GREATEST(value1, value2) YES
Log10(value) LOG(value) YES
Pow(value, exponent) POWER(value, exponent) YES
Round(value) ROUND(value) YES
Round(value, digits) ROUND(value, digits) YES
Sign(value) SIGN(value) YES
Sin(value) SIN(value) YES
Sqrt(value) SQRT(value) YES
Tan(value) TAN(value) YES
Truncate(value) TRUNC(value) YES
String Method or Property Teradata SQL Function Supported
Compare(str1, str2[, ignoreCase]) op val str1 op str2 YES (see note 1)
str1.Compare(str2) op val str1 op str2 YES
str1 + str2 str1 || str2 YES. This form is recommended.
Concat(str1, str2) str1 || str2 YES. Only handled when both arguments are strings.
str1.Concat(str2) n/a NO
expression.Contains(pattern) (pattern = '') OR (INSTR(expression, pattern) > 0) YES
expression.EndsWith(pattern[, StringComparison]) (pattern = '') OR (SUBSTR(expression, (CHARACTER_LENGTH(expression) - CHARACTER_LENGTH(pattern)) + 1, CHARACTER_LENGTH(pattern)) ([NOT ]CS) = pattern ([NOT ]CS)) YES (see note 1)
expression.IndexOf(search) CASE WHEN (search = '') THEN 0 ELSE INSTR(expression, search) - 1 END YES
IsNullOrWhitespace(expression) IS NULL OR TRIM(expression) = '' YES
expression.Length CHAR_LENGTH(expression) YES
expression.PadLeft(length) LPAD(expression, length) YES
expression.PadLeft(length, char) LPAD(expression, length, char) YES
expression.PadRight(length) RPAD(expression, length) YES
expression.PadRight(length, char) RPAD(expression, length, char) YES
expression.Replace(str2, str3) OREPLACE(expression, str2, str3) YES
expression.StartsWith(pattern[, StringComparison]) (pattern = '') OR (SUBSTR(expression, 1, CHARACTER_LENGTH(pattern)) ([NOT ]CS) = pattern ([NOT ]CS)) YES (see note 1)
expression.Substring(start) SUBSTR(expression, start+1) YES
expression.Substring(start, length) SUBSTR(expression, start+1, length) YES
expression.ToLower() LOWER(expression) YES
expression.ToUpper() UPPER(expression) YES
expression.Trim() TRIM(expression) YES
expression.Trim(chars) LTRIM(RTRIM(expression, chars), chars) YES (see note 2)
expression.TrimEnd() RTRIM(expression) YES
expression.TrimEnd(chars) RTRIM(expression, chars) YES (see note 2)
expression.TrimStart() LTRIM(expression) YES
expression.TrimStart(chars) LTRIM(expression, chars) YES (see note 2)
Date and Time Method or Property Teradata SQL Function Supported
DateTime.Today CAST(Current_Date AS Date) YES
DateTime.Now CAST(Current_Timestamp AS Timestamp) YES
DateTime.UtcNow CAST(Current_Timestamp AT TIME ZONE 0 AS Timestamp) YES
expression.Add(timespan) expression + CAST(timespan AS INTERVAL DAY(4) TO SECOND(6)) YES (see note 3)
expression.AddDays(count) expression + CAST(count AS INTERVAL DAY(4)) YES (see note 3)
expression.AddHours(count) expression + CAST(count AS INTERVAL HOUR(4)) YES (see note 3)
expression.AddMilliSeconds(count) expression + CAST( CAST(count AS DECIMAL(10,3)) / 1000 AS INTERVAL SECOND(4,3)) YES (see note 3)
expression.AddMinutes(count) expression + CAST(count AS INTERVAL MINUTE(4)) YES (see note 3)
expression.AddMonths(count) expression + CAST(count AS INTERVAL MONTH(4)) YES (see note 3)
expression.AddSeconds(count) expression + CAST(count AS INTERVAL SECOND(4,0)) YES (see note 3)
expression.AddYears(count) expression + CAST(count AS INTERVAL YEAR(4)) YES (see note 3)
expression.Date CAST(expression AS Date) YES
expression.Day EXTRACT(DAY FROM expression) YES
expression.DayOfWeek() DayNumber_Of_Week(expression) - 1 YES. You must cast the result as Int32.
expression.DayOfYear() DayNumber_Of_Year(expression) YES
expression.Hour EXTRACT(HOUR FROM expression) YES
expression.Millisecond CAST(EXTRACT(SECOND FROM expression) MOD 1 * 1000 AS Integer) YES
expression.Minute EXTRACT(MINUTE FROM expression) YES
expression.Month EXTRACT(MONTH FROM expression) YES
expression.Second CAST(EXTRACT(SECOND FROM expression) AS Integer) YES
expression.Year EXTRACT(YEAR FROM expression) YES
BitWise Method Teradata SQL Function Supported
BitwiseAnd(value1, value2) BITAND(value1, value2) YES
BitWiseOR(value1, value2) BITOR(value1, value2) YES
Data Type Conversion Method Teradata SQL Function Supported
Convert.ToByte(arg) CAST(arg AS BYTEINT) YES. arg is a numeric or numeric String.
Convert.ToInt16(arg) CAST(arg AS SMALLINT) YES. arg is a numeric or numeric String.
Convert.ToInt32(arg) CAST(arg AS INTEGER) YES. arg is a numeric or numeric String.
Convert.ToInt64(arg) CAST(arg AS BIGINT) YES. arg is a numeric or numeric String.
Convert.ToDecimal(arg) CAST(arg AS DECIMAL(28,2)) YES. arg is a numeric or numeric String.
Convert.ToDouble(arg) CAST(arg AS FLOAT) YES. arg is a numeric or numeric String.
Convert.ToSingle(arg) CAST(arg AS FLOAT) YES. arg is a numeric or numeric String.
Convert.ToString(arg) CAST(arg AS VARCHAR(21)) YES. arg is any numeric type.
object.ToString() CAST(object AS VARCHAR(n)) YES. arg is any supported type.
  1. The suffix (CS) or (NOT CS) is based on the IgnoreCase or StringComparison argument, if specified. If the argument is not specified, case sensitivity will default to the SQL Engine and would depend on property configuration and session transaction mode. The application can use the ForTeradataIsCaseSensitive extension method to configure case sensitivity of a property.

  2. The Trim methods handle Char and Char[] literals, and Char variables, on the Teradata SQL Engine. For Char[] variables we retrieve the full string and trim it locally.

  3. All DateTime Add methods use Teradata Intervals to add the value to the DateTime, DateTimeOffset or Time (when applicable). Teradata Intervals (see the Teradata Data Types and Literals manual) are limited by a maximum precision of 4, which limits the maximum value in the Add methods. Precision is the number of significant digits in the most significant field of the Interval. For example in the AddMonths method, the Interval Month is used to add months to the DateTime or DateTimeOffset. A maximum value of 9999 months (four significant digits of precision) may be added to a DateTime or DateTimeOffset in this example.