Dela via


Funktionsmappningar för Microsoft SQL Server-providern

Den här sidan visar vilka .NET-medlemmar som översätts till vilka SQL-funktioner som används av SQL Server-providern.

Mängdfunktioner

.NÄT SQL Har lagts till i
EF.Functions.StandardDeviationSample(group.Select(x => x.Property)) STDEV(egenskap) EF Core 7.0
EF.Functions.StandardDeviationPopulation(group.Select(x => x.Property)) STDEVP(egenskap) EF Core 7.0
EF.Functions.VarianceSample(group.Select(x => x.Property)) VAR(Egenskap) EF Core 7.0
EF.Functions.VariancePopulation(group.Select(x => x.Property)) VARP(egenskap) EF Core 7.0
grupp. Medelvärde(x => x.Property) Medelvärde(Egenskap)
grupp. Count() COUNT(*)
grupp. LongCount() COUNT_BIG(*)
grupp.Max(x => x.Property) MAX(Egenskap)
grupp.Min(x => x.Property) MIN(egenskap)
grupp.Sum(x => x.Property) SUM(Property)
string.Concat(group.Select(x => x.Property)) STRING_AGG(Egenskap, N'') EF Core 7.0
sträng.Sammanfoga(separator, group.Välj(x => x.Egenskap)) STRING_AGG(Property, @separator) EF Core 7.0

Binära funktioner

.NÄT SQL Har lagts till i
Byte. Contains(value) CHARINDEX(@value, @bytes)> 0
bytes.ElementAt(i) SUBSTRING(@bytes, @i + 1, 1) EF Core 8.0
bytes.First() SUBSTRING(@bytes, 1, 1)
Byte. Längd DATALENGTH(@bytes)
Byte.SequenceEqual(second) @bytes = @second
bytes[i] SUBSTRING(@bytes, @i + 1, 1)
EF.Functions.DataLength(arg) DATALENGTH(@arg)

Konverteringsfunktioner

.NÄT SQL Har lagts till i
bytes.ToString() CONVERT(varchar(100), @bytes)
byteValue.ToString() CONVERT(varchar(3), @byteValue)
charValue.ToString() CONVERT(varchar(1), @charValue)
Convert.ToBoolean(value) CONVERT(bit, @value)
Convert.ToByte(value) CONVERT(tinyint, @value)
Convert.ToDecimal(value) CONVERT(decimal(18, 2), @value)
Convert.ToDouble(value) CONVERT(float, @value)
Convert.ToInt16(value) CONVERT(smallint, @value)
Convert.ToInt32(value) CONVERT(int, @value)
Convert.ToInt64(value) CONVERT(bigint, @value)
Convert.ToString(value) CONVERT(nvarchar(max), @value)
dateOnly.ToString() CONVERT(varchar(100), @dateOnly) EF Core 8.0
dateTime.ToString() CONVERT(varchar(100), @dateTime)
dateTimeOffset.ToString() CONVERT(varchar(100), @dateTimeOffset)
decimalValue.ToString() CONVERT(varchar(100), @decimalValue)
doubleValue.ToString() CONVERT(varchar(100), @doubleValue)
floatValue.ToString() CONVERT(varchar(100), @floatValue)
guid.ToString() CONVERT(varchar(36), @guid)
intValue.ToString() CONVERT(varchar(11), @intValue)
longValue.ToString() CONVERT(varchar(20), @longValue)
sbyteValue.ToString() CONVERT(varchar(4), @sbyteValue)
shortValue.ToString() CONVERT(varchar(6), @shortValue)
timeOnly.ToString() CONVERT(varchar(100), @timeOnly) EF Core 8.0
timeSpan.ToString() CONVERT(varchar(100), @timeSpan)
uintValue.ToString() CONVERT(varchar(10), @uintValue)
ulongValue.ToString() CONVERT(varchar(19), @ulongValue)
ushortValue.ToString() CONVERT(varchar(5), @ushortValue)

Datum- och tidsfunktioner

.NÄT SQL Har lagts till i
DateTime.Now GETDATE()
DateTime.Today CONVERT(date, GETDATE())
DateTime.UtcNow GETUTCDATE()
dateTime.AddDays(värde) DATEADD(day, @value, @dateTime)
dateTime.AddHours(värde) DATEADD(timme, @value, @dateTime)
dateTime.AddMilliseconds(value) DATEADD(millisekunder, @value, @dateTime)
dateTime.AddMinutes(värde) DATEADD(minute, @value, @dateTime)
dateTime.AddMonths(months) DATEADD(månad, @months, @dateTime)
dateTime.AddSeconds(value) DATEADD(second, @value, @dateTime)
dateTime.AddYears(värde) DATEADD(year, @value, @dateTime)
dateTime.Date CONVERT(date, @dateTime)
dateTime.Day DATEPART(dag, @dateTime)
dateTime.DayOfYear DATEPART(dayofyear, @dateTime)
dateTime.Hour DATEPART(timme, @dateTime)
dateTime.Microsecond DATEPART(mikrosekunder, @dateTime) % 1000 EF Core 10.0
dateTime.Millisecond DATEPART(millisekunder, @dateTime)
dateTime.Minute DATEPART(minut, @dateTime)
dateTime.Month DATEPART(month, @dateTime)
dateTime.Nanosecond DATEPART(nanosekunder, @dateTime) % 1000 EF Core 10.0
dateTime.Second DATEPART(second, @dateTime)
dateTime.TimeOfDay KONVERTERA(tid, @dateTime)
dateTime.År DATEPART(år, @dateTime)
DateTimeOffset.Now SYSDATETIMEOFFSET()
DateTimeOffset.UtcNow SYSUTCDATETIME()
dateTimeOffset.AddDays(days) DATEADD(dag, @days, @dateTimeOffset)
dateTimeOffset.AddHours(timmar) DATEADD(timme, @hours, @dateTimeOffset)
dateTimeOffset.AddMilliseconds(millisekunder) DATEADD(millisekunder, @milliseconds, @dateTimeOffset)
dateTimeOffset.AddMinutes(minuter) DATEADD(minute, @minutes, @dateTimeOffset)
dateTimeOffset.AddMonths(månader) DATEADD(månad, @months, @dateTimeOffset)
dateTimeOffset.AddSeconds(sekunder) DATEADD(second, @seconds, @dateTimeOffset)
dateTimeOffset.AddYears(år) DATEADD(year, @years, @dateTimeOffset)
dateTimeOffset.Datum KONVERTERA(datum, @dateTimeOffset)
dateTimeOffset.Day DATEPART(dag, @dateTimeOffset)
dateTimeOffset.DayOfYear DATEPART(dayofyear, @dateTimeOffset)
dateTimeOffset.Hour DATEPART(timme, @dateTimeOffset)
dateTimeOffset.Mikrosekund DATEPART(mikrosekunder, @dateTimeOffset) % 1000 EF Core 10.0
dateTimeOffset.Millisecond DATEPART(millisekunder, @dateTimeOffset)
dateTimeOffset.Minut DATEPART(minut, @dateTimeOffset)
dateTimeOffset.Månad DATEPART(month, @dateTimeOffset)
dateTimeOffset.Nanosekund DATEPART(nanosekunder, @dateTimeOffset) % 1000 EF Core 10.0
dateTimeOffset.Sekund DATEPART(second, @dateTimeOffset)
dateTimeOffset.TimeOfDay KONVERTERA(tid, @dateTimeOffset)
dateTimeOffset.ToUnixTimeSeconds() DATEDIFF_BIG(sekunder, '1970-01-01T00:00:00.0000000+00:00', @dateTimeOffset) EF Core 8.0
dateTimeOffset.ToUnixTimeMilliseconds() DATEDIFF_BIG(millisekunder, "1970-01-01T00:00:00.0000000+00:00", @dateTimeOffset) EF Core 8.0
dateTimeOffset.Year DATEPART(år, @dateTimeOffset)
DateOnly.FromDateTime(dateTime) CONVERT(date, @dateTime) EF Core 8.0
dateOnly.AddDays(value) DATEADD(dag, @value, @dateOnly) EF Core 8.0
dateOnly.AddMonths(months) DATEADD(month, @months, @dateOnly) EF Core 8.0
dateOnly.AddYears(value) DATEADD(year, @value, @dateOnly) EF Core 8.0
dateOnly.Day DATEPART(dag, @dateOnly) EF Core 8.0
datumEndast.DagAvÅret DATEPART(dayofyear, @dateOnly) EF Core 8.0
dateOnly.Month DATUMDEL(månad, @dateOnly) EF Core 8.0
dateOnly.Year DATEPART(år, @dateOnly) EF Core 8.0
EF. Functions.AtTimeZone(dateTime, timeZone) @dateTime I TIDSZON @timeZone EF Core 7.0
EF.Functions.DateDiffDay(start, end) DATEDIFF(day, @start, @end)
EF.Functions.DateDiffHour(start, end) DATEDIFF(hour, @start, @end)
EF.Functions.DateDiffMicrosecond(start, end) DATEDIFF(mikrosekunder, @start, @end)
EF.Functions.DateDiffMillisecond(start, end) DATEDIFF(millisekunder, @start, @end)
EF.Functions.DateDiffMinute(start, end) DATEDIFF(minute, @start, @d2)
EF.Functions.DateDiffMonth(start, end) DATEDIFF(month, @start, @end)
EF.Functions.DateDiffNanosecond(start, end) DATEDIFF(nanosekunder, @start, @end)
EF.Functions.DateDiffSecond(start, end) DATEDIFF(second, @start, @end)
EF.Functions.DateDiffWeek(start, end) DATEDIFF(week, @start, @end)
EF.Functions.DateDiffYear(start, end) DATEDIFF(year, @start, @end)
EF. Functions.DateFromParts(år, månad, dag) DATEFROMPARTS(@year, @month, @day)
EF.Functions.DateTime2FromParts(år, månad, dag, ...) DATETIME2FROMPARTS(@year, @month, @day, ...)
EF. Functions.DateTimeFromParts(år, månad, dag, ...) DATETIMEFROMPARTS(@year, @month, @day, ...)
EF. Functions.DateTimeOffsetFromParts(år, månad, dag, ...) DATETIMEOFFSETFROMPARTS(@year, @month, @day, ...)
EF. Functions.IsDate(expression) ISDATE(@expression)
EF.Functions.SmallDateTimeFromParts(år, månad, dag, ...) SMALLDATETIMEFROMPARTS(@year, @month, @day, ...)
EF.Functions.TimeFromParts(timme, minut, sekund, ...) TIMEFROMPARTS(@hour, @minute, @second, ...)
timeOnly.AddHours(värde) DATEADD(timme, @value, @timeOnly) EF Core 8.0
timeOnly.AddMinutes(value) DATEADD(minute, @value, @timeOnly) EF Core 8.0
timeOnly.Hour DATEPART(timme, @timeOnly) EF Core 8.0
timeOnly.IsBetween(start, end) @timeOnly >= @start OCH @timeOnly<@end EF Core 8.0
timeOnly.Microsecond DATEPART(mikrosekunder, @timeOnly) % 1000 EF Core 10.0
timeOnly.Millisecond DATEPART(millisekunder, @timeOnly) EF Core 8.0
timeOnly.Minute DATEPART(en minut, @timeOnly)) EF Core 8.0
timeOnly.Nanosekund DATEPART(nanosekunder, @timeOnly) % 1000 EF Core 10.0
timeOnly.Second DATEPART(second, @timeOnly) EF Core 8.0
tidsspann.Timmar DATEPART(hour, @timeSpan)
timeSpan.Mikrosekund DATEPART(mikrosekunder, @timeSpan) % 1000 EF Core 10.0
timeSpan.Millisekunder DATEPART(millisekunder, @timeSpan)
tidsintervall.Minuter DATEPART(minut, @timeSpan)
timeSpan.Nanosekund DATEPART(nanosekunder, @timeSpan) % 1000 EF Core 10.0
timeSpan.Sekunder DATEPART(second, @timeSpan)

Numeriska funktioner

.NÄT SQL Har lagts till i
dubbel. DegreesToRadians(x) RADIANS(@x) EF Core 8.0
double.RadiansToDegrees(x) DEGREES(@x) EF Core 8.0
EF.Functions.Random() RAND()
Math.Abs(värde) ABS(@value)
Math.Acos(d) ACOS(@d)
Math.Asin(d) ASIN(@d)
Math.Atan(d) ATAN(@d)
Math.Atan2(y, x) ATN2(@y, @x)
Math.Ceiling(d) CEILING(@d)
Math.Cos(d) COS(@d)
Math.Exp(d) EXP(@d)
Math.Floor(d) FLOOR(@d)
Math.Log(d) LOG(@d)
Math.Log(a, newBase) LOG(@a, @newBase)
Math.Log10(d) LOG10(@d)
Math.Max(x, y) GREATEST(@x, @y) EF Core 9.0
Math.Min(x, y) LEAST(@x, @y) EF Core 9.0
Math.Pow(x, y) POWER(@x, @y)
Math.Round(d) ROUND(@d, 0)
Math.Round(d, decimaler) ROUND(@d, @decimals)
Math.Sign(value) SIGN(@value)
Math.Sin(a) SIN(@a)
Math.Sqrt(d) SQRT(@d)
Math.Tan(a) TAN(@a)
Math.Truncate(d) ROUND(@d, 0, 1)

Tips

Utöver de metoder som anges här översätts även motsvarande generiska matematiska-implementeringar och MathF- metoder. Till exempel mappas Math.Sin, MathF.Sin, double.Sinoch float.Sin alla till funktionen SIN i SQL.

Strängfunktioner

.NÄT SQL Har lagts till i
EF. Functions.Collate(operand, sortering) @operand SORTERA @collation
EF.Functions.Contains(propertyReference, searchCondition) CONTAINS(@propertyReference, @searchCondition)
EF.Functions.Contains(propertyReference, searchCondition, languageTerm) INNEHÅLLER(@propertyReference, @searchCondition, SPRÅK @languageTerm)
EF. Functions.FreeText(propertyReference, freeText) FREETEXT(@propertyReference, @freeText)
EF.Functions.FreeText(propertyReference, freeText, languageTerm) FREETEXT(@propertyReference, @freeText, LANGUAGE @languageTerm)
EF.Functions.IsNumeric(expression) ISNUMERIC(@expression)
EF.Functions.Like(matchExpression, pattern) @matchExpression SOM @pattern
EF.Functions.Like(matchExpression, pattern, escapeCharacter) @matchExpression LIKE @pattern ESCAPE @escapeCharacter
string.Compare(strA, strB) FALL NÄR @strA = @strB SEDAN 0 ... ÄNDE
string.Concat(str0, str1) @str0 + @str1
string.IsNullOrEmpty(value) @value ÄR NULL ELLER @value LIKE N''
string.IsNullOrWhiteSpace(value) @value ÄR NULL ELLER @value = N''
string.Join(", ", new [] { x, y, z}) CONCAT_WS(N", ", @x, @y, @z) EF Core 9.0
stringValue.CompareTo(strB) FALL NÄR @stringValue = @strB SEDAN 0 ... ÄNDE
stringValue.Contains(value) @stringValue LIKE N'%' + @value + N'%'
stringValue.EndsWith(value) @stringValue LIKE N'%' + @value
stringValue.FirstOrDefault() SUBSTRING(@stringValue, 1, 1)
stringValue.IndexOf(value) CHARINDEX(@value, @stringValue) - 1
stringValue.IndexOf(value, startIndex) CHARINDEX(@value, @stringValue, @startIndex) - 1 EF Core 7.0
stringValue.LastOrDefault() SUBSTRING(@stringValue, LEN(@stringValue), 1)
stringValue.Length LEN(@stringValue)
stringValue.Replace(@oldValue, @newValue) REPLACE(@stringValue, @oldValue, @newValue)
stringValue.StartsWith(value) @stringValue LIKE @value + N'%'
stringValue.Substring(startIndex) SUBSTRING(@stringValue, @startIndex + 1, LEN(@stringValue))
stringValue.Substring(startIndex, längd) SUBSTRING(@stringValue, @startIndex + 1, @length)
stringValue.ToLower() LOWER(@stringValue)
stringValue.ToUpper() UPPER(@stringValue)
stringValue.Trim() LTRIM(RTRIM(@stringValue))
stringValue.TrimEnd() RTRIM(@stringValue)
stringValue.TrimStart() LTRIM(@stringValue)

Diverse funktioner

.NÄT SQL Har lagts till i
enumValue.HasFlag(flag) @enumValue & @flag = @flag
Guid.NewGuid() NEWID()
nullable.GetValueOrDefault() COALESCE(@nullable, 0)
nullable.GetValueOrDefault(defaultValue) COALESCE(@nullable, @defaultValue)

Not

Vissa SQL har förenklats i illustrationssyfte. Den faktiska SQL-koden är mer komplex för att hantera ett bredare värdeintervall.

Se även