Mapowania funkcji dostawcy programu Microsoft SQL Server

Na tej stronie przedstawiono, które elementy członkowskie platformy .NET są tłumaczone na funkcje SQL podczas korzystania z dostawcy programu SQL Server.

Funkcje agregujące

.NET SQL Dodano element w
EF. Functions.StandardDeviationSample(group. Select(x => x.Property)) STDEV(Właściwość) EF Core 7.0
EF. Functions.StandardDeviationPopulation(group). Select(x => x.Property)) STDEVP(Właściwość) EF Core 7.0
EF. Functions.VarianceSample(group. Select(x => x.Property)) VAR(Właściwość) EF Core 7.0
EF. Functions.VariancePopulation(group. Select(x => x.Property)) VARP(Właściwość) EF Core 7.0
Grupa. Average(x => x.Property) AVG(Właściwość)
Grupa. Count() COUNT(*)
Grupa. LongCount() COUNT_BIG(*)
Grupa. Max(x => x.Property) MAX(Właściwość)
Grupa. Min(x => x.Property) MIN(Właściwość)
Grupa. Sum(x => x.Property) SUM(Właściwość)
Ciąg. Concat(grupa. Select(x => x.Property)) STRING_AGG(Właściwość, N'') EF Core 7.0
Ciąg. Join(separator, grupa. Select(x => x.Property)) STRING_AGG(Właściwość, @separator) EF Core 7.0

Funkcje binarne

.NET SQL Dodano element w
Bajtów. Contains(value) CHARINDEX(@value, @bytes)> 0
Bajtów. ElementAt(i) PODCIĄG (@bytes, @i + 1, 1) EF Core 8.0
Bajtów. First() PODCIĄG (@bytes, 1, 1)
Bajtów. Długość DATALENGTH(@bytes)
Bajtów. SequenceEqual(sekunda) @bytes = @second
bajty[i] PODCIĄG (@bytes, @i + 1, 1)
EF. Functions.DataLength(arg) DATALENGTH(@arg)

Funkcje konwersji

.NET SQL Dodano element w
Bajtów. Tostring() CONVERT(varchar(100), @bytes)
byteValue.ToString() CONVERT(varchar(3), @byteValue)
charValue.ToString() CONVERT(varchar(1), @charValue)
Convert.ToBoolean(wartość) CONVERT(bit, @value)
Konwertuj.ToByte(wartość) CONVERT(tinyint, @value)
Konwertuj.ToDecimal(wartość) CONVERT(liczba dziesiętna(18, 2), @value)
Convert.ToDouble(wartość) CONVERT(float, @value)
Konwertuj.ToInt16(wartość) CONVERT(smallint, @value)
Konwertuj.ToInt32(wartość) CONVERT(int, @value)
Konwertuj.ToInt64(wartość) CONVERT(bigint, @value)
Convert.ToString(wartość) 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)
Identyfikator 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)

Funkcje daty i godziny

.NET SQL Dodano element w
DateTime.Now GETDATE()
DateTime.Today CONVERT(date, GETDATE())
DateTime.UtcNow GETUTCDATE()
dateTime.AddDays(wartość) DATEADD(dzień, @value, @dateTime)
dateTime.AddHours(wartość) DATEADD(godzina, @value, @dateTime)
dateTime.AddMilliseconds(wartość) DATEADD(milisekunda, @value, @dateTime)
dateTime.AddMinutes(wartość) DATEADD(minuta, @value, @dateTime)
dateTime.AddMonths(miesiące) DATEADD(miesiąc, @months, @dateTime)
dateTime.AddSeconds(wartość) DATEADD(sekunda, @value, @dateTime)
dateTime.AddYears(value) DATEADD(rok, @value, @dateTime)
dateTime.Date CONVERT(data, @dateTime)
dateTime.Day DATEPART(dzień, @dateTime)
dateTime.DayOfYear DATEPART(dayofyear, @dateTime)
dateTime.Hour DATEPART(godzina, @dateTime)
dateTime.Millisecond DATEPART(milisekundy, @dateTime)
dateTime.Minute DATEPART(minuta, minuta, @dateTime)
dateTime.Month DATEPART(miesiąc, @dateTime)
dateTime.Second DATEPART(sekunda, @dateTime)
dateTime.TimeOfDay KONWERTUJ(czas, @dateTime)
dateTime.Year DATEPART(rok, @dateTime)
DateTimeOffset.Now SYSDATETIMEOFFSET()
DateTimeOffset.UtcNow SYSUTCDATETIME()
dateTimeOffset.AddDays(dni) DATEADD(dzień, @days, @dateTimeOffset)
dateTimeOffset.AddHours(godziny) DATEADD(godzina, @hours, @dateTimeOffset)
dateTimeOffset.AddMilliseconds(milisekundy) DATEADD(milisekunda, @milliseconds, @dateTimeOffset)
dateTimeOffset.AddMinutes(minuty) DATEADD(minuta, @minutes, @dateTimeOffset)
dateTimeOffset.AddMonths(miesiące) DATEADD(miesiąc, @months, @dateTimeOffset)
dateTimeOffset.AddSeconds(sekundy) DATEADD(sekunda, @seconds, @dateTimeOffset)
dateTimeOffset.AddYears(years) DATEADD(rok, @years, @dateTimeOffset)
dateTimeOffset.Date CONVERT(data, @dateTimeOffset)
dateTimeOffset.Day DATEPART(dzień, @dateTimeOffset)
dateTimeOffset.DayOfYear DATEPART(dayofyear, @dateTimeOffset)
dateTimeOffset.Hour DATEPART(godzina, @dateTimeOffset)
dateTimeOffset.Millisecond DATEPART(milisekundy, @dateTimeOffset)
dateTimeOffset.Minute DATEPART(minuta, minuta, @dateTimeOffset)
dateTimeOffset.Month DATEPART(miesiąc, @dateTimeOffset)
dateTimeOffset.Second DATEPART(sekunda, @dateTimeOffset)
dateTimeOffset.TimeOfDay KONWERTUJ(czas, @dateTimeOffset)
dateTimeOffset.ToUnixTimeSeconds() DATEDIFF_BIG(sekunda, '1970-01-01T00:00:00.0000000+00:00', @dateTimeOffset) EF Core 8.0
dateTimeOffset.ToUnixTimeMilliseconds() DATEDIFF_BIG (milisekundy, '1970-01-01T00:00:00.000000+00:00', @dateTimeOffset) EF Core 8.0
dateTimeOffset.Year DATEPART(rok, @dateTimeOffset)
dateOnly.AddDays(wartość) DATEADD(dzień, @value, @dateOnly) EF Core 8.0
dateOnly.AddMonths(miesiące) DATEADD(miesiąc, @months, @dateOnly) EF Core 8.0
dateOnly.AddYears(wartość) DATEADD(rok, @value, @dateOnly) EF Core 8.0
dateOnly.Day DATEPART(dzień, @dateOnly) EF Core 8.0
dateOnly.DayOfYear DATEPART(dayofyear, @dateOnly) EF Core 8.0
DateOnly.FromDateTime(dateTime) CONVERT(data, @dateTime) EF Core 8.0
dateOnly.Month DATEPART(miesiąc, @dateOnly) EF Core 8.0
dateOnly.Year DATEPART(rok, @dateOnly) EF Core 8.0
EF. Functions.AtTimeZone(dateTime, timeZone) @dateTime W STREFIE CZASOWEJ @timeZone EF Core 7.0
EF. Functions.DateDiffDay(start, end) DATEDIFF(dzień, @start, @end)
EF. Functions.DateDiffHour(start, end) DATEDIFF(godzina, @start, @end)
EF. Functions.DateDiffMicrosecond(start, end) DATEDIFF(mikrosekundy, @start, @end)
EF. Functions.DateDiffMillisecond(start, end) DATEDIFF(milisekundy, @start, @end)
EF. Functions.DateDiffMinute(start, end) DATEDIFF(minuta, @start, @d2)
EF. Functions.DateDiffMonth(start, end) DATEDIFF(miesiąc, @start, @end)
EF. Functions.DateDiffNanosecond(start, end) DATEDIFF(nanosecond, @start, @end)
EF. Functions.DateDiffSecond(start, end) DATEDIFF(sekunda, @start, @end)
EF. Functions.DateDiffWeek(start, end) DATEDIFF(tydzień, @start, @end)
EF. Functions.DateDiffYear(start, end) DATEDIFF(rok, @start, @end)
EF. Functions.DateFromParts(rok, miesiąc, dzień) DATEFROMPARTS(@year, @month, @day)
EF. Functions.DateTime2FromParts(rok, miesiąc, dzień, ...) DATETIME2FROMPARTS(@year, @month, , @day...)
EF. Functions.DateTimeFromParts(rok, miesiąc, dzień, ...) DATETIMEFROMPARTS(@year, @month, , @day...)
EF. Functions.DateTimeOffsetFromParts(rok, miesiąc, dzień, ...) DATETIMEOFFSETFROMPARTS(@year, @month, @day, ...)
EF. Functions.IsDate(expression) ISDATE(@expression)
EF. Functions.SmallDateTimeFromParts(rok, miesiąc, dzień, ...) SMALLDATETIMEFROMPARTS(@year, @month, @day, ...)
EF. Functions.TimeFromParts(godzina, minuta, sekunda, ...) TIMEFROMPARTS(@hour, @minute, @second, ...)
timeOnly.AddHours(wartość) DATEADD(godzina, @value, @timeOnly) EF Core 8.0
timeOnly.AddMinutes(wartość) DATEADD(minuta, @value, @timeOnly) EF Core 8.0
timeOnly.Hours DATEPART(godzina, @timeOnly) EF Core 8.0
timeOnly.IsBetween(początek, koniec) @timeOnly>= @start AND @timeOnly<@end EF Core 8.0
timeOnly.Milliseconds DATEPART(milisekundy, @timeOnly) EF Core 8.0
timeOnly.Minutes DATEPART(minuta, minuta, @timeOnly) EF Core 8.0
timeOnly.Seconds DATEPART(sekunda, @timeOnly) EF Core 8.0
timeSpan.Hours DATEPART(godzina, @timeSpan)
timeSpan.Milliseconds DATEPART(milisekundy, @timeSpan)
timeSpan.Minutes DATEPART(minuta, minuta, @timeSpan)
timeSpan.Seconds DATEPART(sekunda, @timeSpan)

Funkcje liczbowe

.NET SQL Dodano element w
Podwójne. DegreesToRadians(x) RADIANS (@x) EF Core 8.0
Podwójne. RadiansToDegrees(x) DEGREES(@x) EF Core 8.0
EF. Functions.Random() RAND()
Math.Abs(wartość) 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.Pow(x, y) POWER(@x, @y)
Math.Round(d) ROUND(@d, 0)
Math.Round(d, dziesiętne) ROUND(@d, @decimals)
Math.Sign(wartość) SIGN(@value)
Math.Sin(a) SIN(@a)
Math.Sqrt(d) SQRT(@d)
Math.Tan(a) TAN(@a)
Math.Truncate(d) ROUND(@d, 0, 1)

Napiwek

Oprócz metod wymienionych tutaj, odpowiednie ogólne implementacje matematyczne i metody MathF są również tłumaczone. Na przykład , Math.Sin, MathF.Sindouble.Sini float.Sin wszystkie mapuj SIN na funkcję w języku SQL.

Funkcje ciągów

.NET SQL Dodano element w
EF. Functions.Collate(operand, sortowanie) @operand COLLATE @collation
EF. Functions.Contains(propertyReference, searchCondition) CONTAINS(@propertyReference, @searchCondition)
EF. Functions.Contains(propertyReference, searchCondition, languageTerm) CONTAINS(@propertyReference, @searchCondition, LANGUAGE @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 JAK @pattern
EF. Functions.Like(matchExpression, pattern, escapeCharacter) @matchExpression JAK @pattern UCIECZKA @escapeCharacter
Ciąg. Compare(strA, strB) PRZYPADEK, GDY @strA = @strB WTEDY 0 ... KOŃCU
Ciąg. Concat(str0, str1) @str0 + @str1
Ciąg. IsNullOrEmpty(wartość) @value MA WARTOŚĆ NULL LUB @value NA PRZYKŁAD N''
Ciąg. IsNullOrWhiteSpace(wartość) @value MA WARTOŚĆ NULL LUB @value = N''
stringValue.CompareTo(strB) PRZYPADEK, GDY @stringValue = @strB WTEDY 0 ... KOŃCU
stringValue.Contains(wartość) @stringValue LIKE N'%' + @value + N'%'
stringValue.EndsWith(wartość) @stringValue LIKE N'%' + @value
stringValue.FirstOrDefault() PODCIĄG (@stringValue, 1, 1)
stringValue.IndexOf(wartość) CHARINDEX(@value, @stringValue) - 1
stringValue.IndexOf(value, startIndex) CHARINDEX(@value, @stringValue, @startIndex) - 1 EF Core 7.0
stringValue.LastOrDefault() PODCIĄG (@stringValue, LEN(@stringValue), 1)
stringValue.Length LEN(@stringValue)
stringValue.Replace(@oldValue, @newValue) REPLACE(@stringValue, @oldValue, @newValue)
stringValue.StartsWith(wartość) @stringValue LIKE @value + N'%'
stringValue.Substring(startIndex) SUBSTRING(@stringValue, @startIndex + 1, LEN(@stringValue))
stringValue.Substring(startIndex, length) PODCIĄG (@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)

Różne funkcje

.NET SQL
Kolekcji. Contains(element) @item CALA @collection
enumValue.HasFlag(flaga) @enumValue & @flag = @flag
Guid.NewGuid() NEWID()
Nullable. GetValueOrDefault() COALESCE(@nullable, 0)
Nullable. GetValueOrDefault(defaultValue) COALESCE(@nullable, @defaultValue)

Uwaga

Niektóre bazy danych SQL zostały uproszczone w celach ilustracyjnych. Rzeczywisty język SQL jest bardziej złożony do obsługi szerszego zakresu wartości.

Zobacz też