Microsoft SQL Server Sağlayıcısının İşlev Eşlemeleri

Bu sayfada, SQL Server sağlayıcısı kullanılırken hangi .NET üyelerinin hangi SQL işlevlerine çevrildiği gösterilir.

Toplama işlevleri

.NET SQL eklendi
EF. Functions.StandardDeviationSample(group. Select(x => x.Property)) STDEV(Özellik)
EF.Functions.StandardDeviationPopulation(group.Select(x => x.Property)) STDEVP(Özellik)
EF.Functions.VarianceSample(group.Select(x => x.Property)) VAR(Özellik)
EF.Functions.VariancePopulation(group.Select(x => x.Property)) VARP(Özellik)
grup.Average(x => x.Property) AVG(Özellik)
grup. Count() COUNT(*)
grup. LongCount() COUNT_BIG(*)
grup.Max(x => x.Property) MAX(Özellik)
grup.Min(x => x.Property) MIN(Özellik)
grup.Toplam(x => x.Property) SUM(Özellik)
dizgi. Concat(group. Select(x => x.Property)) STRING_AGG(Özellik, N'')
string.Join(ayırıcı, grup.Select(x => x.Property)) STRING_AGG(Özellik, @separator)

İkili işlevler

.NET SQL eklendi
Bayt. contains(value) CHARINDEX(@value, @bytes)> 0
bytes.ElementAt(i) PARÇAAL(@bytes, @i + 1, 1)
bytes.First() PARÇA DİZİSİ(@bytes, 1, 1)
bayt.Uzunluk DATALENGTH(@bytes)
Bayt. SequenceEqual(saniye) @bytes = @second
bytes[i] PARÇAAL(@bytes, @i + 1, 1)
EF.Functions.DataLength(arg) DATALENGTH(@arg)

Dönüştürme işlevleri

.NET SQL eklendi
bytes.ToString() ÇEVİR(varchar(100), @bytes)
byteValue.ToString() ÇEVİR(varchar(3), @byteValue)
charValue.ToString() CONVERT(varchar(1), @charValue)
Convert.ToBoolean(değer) DÖNÜŞTÜR(bit, @value)
Convert.ToByte(değer) ÇEVİr(tinyint, @value)
Convert.ToDecimal(sayı değerini dönüştür) ÇEVİR(decimal(18, 2), @value)
Convert.ToDouble(değer) ÇEVİR(float, @value)
Convert.ToInt16(değer) ÇEVİr(smallint, @value)
Convert.ToInt32(değer) ÇEVİR(int, @value)
Convert.ToInt64(değer) ÇEVİR(bigint, @value)
Convert.ToString(değer) ÇEVİr(nvarchar(maksimum), @value)
dateOnly.ToString() ÇEVİR(varchar(100), @dateOnly)
dateTime.ToString() ÇEVİR(varchar(100), @dateTime)
dateTimeOffset.ToString() ÇEVİR(varchar(100), @dateTimeOffset)
decimalValue.ToString() ÇEVİR(varchar(100), @decimalValue)
doubleValue.ToString() ÇEVİR(varchar(100), @doubleValue)
floatValue.ToString() ÇEVİR(varchar(100), @floatValue)
guid.ToString() ÇEVİR(varchar(36), @guid)
intValue.ToString() ÇEVİR(varchar(11), @intValue)
longValue.ToString() ÇEVİR(varchar(20), @longValue)
sbyteValue.ToString() ÇEVİr(varchar(4), @sbyteValue)
shortValue.ToString() ÇEVİR(varchar(6), @shortValue)
timeOnly.ToString() ÇEVİR(varchar(100), @timeOnly)
timeSpan.ToString() ÇEVİR(varchar(100), @timeSpan)
uintValue.ToString() ÇEVİR(varchar(10), @uintValue)
ulongValue.ToString() ÇEVİR(varchar(19), @ulongValue)
ushortValue.ToString() ÇEVİR(varchar(5), @ushortValue)

Tarih ve saat işlevleri

.NET SQL eklendi
DateTime.Now GETDATE()
DateTime.Today CONVERT(date, GETDATE())
DateTime.UtcNow GETUTCDATE()
dateTime.AddDays(değer) DATEADD(gün, @value, @dateTime))
dateTime.AddHours(değer) DATEADD(saat, @value, @dateTime)
dateTime.AddMilliseconds(değer) DATEADD(milisaniye, @value, @dateTime)
dateTime.AddMinutes(değer) DATEADD(dakika, @value, @dateTime)
dateTime.AddMonths(aylar) DATEADD(ay, @months, @dateTime)
dateTime.AddSeconds(değer) DATEADD(saniye, @value, @dateTime)
dateTime.AddYears(değer) DATEADD(yıl, @value, @dateTime)
dateTime.Date ÇEVİr(tarih, @dateTime)
dateTime.Day DATEPART(gün, @dateTime)
dateTime.DayOfYear DATEPART(yılın günü, @dateTime)
dateTime.Hour DATEPART(saat, @dateTime)
dateTime.Microsecond DATEPART(mikrosaniye, @dateTime) % 1000) EF Core 10.0
dateTime.Milisecond DATEPART(milisaniye, @dateTime)
dateTime.Minute DATEPART(dakika, @dateTime)
dateTime.Month DATEPART(ay, @dateTime)
dateTime.Nanosecond DATEPART(nanosaniye, @dateTime) % 1000) EF Core 10.0
dateTime.Saniye DATEPART(saniye, @dateTime)
dateTime.TimeOfDay DÖNÜŞTÜR(zaman, @dateTime)
dateTime.Yıl TARİh BÖLÜMÜ(yıl, @dateTime)
DateTimeOffset.Now SYSDATETIMEOFFSET()
DateTimeOffset.UtcNow SYSUTCDATETIME()
dateTimeOffset.AddDays(günler) DATEADD(gün, @days, @dateTimeOffset))
dateTimeOffset.AddHours(hours) DATEADD(saat, @hours, @dateTimeOffset)
dateTimeOffset.AddMilliseconds(milisaniye) DATEADD(milisaniye, @milliseconds, @dateTimeOffset)
dateTimeOffset.AddMinutes(dakika) DATEADD(dakika, @minutes, @dateTimeOffset)
dateTimeOffset.AddMonths(aylar) DATEADD(ay, @months, @dateTimeOffset)
dateTimeOffset.AddSeconds(saniye) DATEADD(saniye, @seconds, @dateTimeOffset)
dateTimeOffset.AddYears(yıllar) DATEADD(yıl, @years, @dateTimeOffset)
dateTimeOffset.Date ÇEVİr(tarih, @dateTimeOffset)
dateTimeOffset.DateTime ÇEVİR(datetime2, @dateTimeOffset) EF Core 11.0
dateTimeOffset.Day DATEPART(gün, @dateTimeOffset)
dateTimeOffset.DayOfYear DATEPART(yılın günü, @dateTimeOffset)
dateTimeOffset.Hour DATEPART(saat, @dateTimeOffset)
dateTimeOffset.LocalDateTime (tarihi ve saati yerel saate dönüştürme) CONVERT(datetime2, @dateTimeOffset AT TIME ZONE CURRENT_TIMEZONE_ID()) EF Core 11.0
dateTimeOffset.Mikrosaniye DATEPART(mikrosaniye, @dateTimeOffset) % 1000) EF Core 10.0
dateTimeOffset.Milisaniye DATEPART(milisaniye, @dateTimeOffset)
dateTimeOffset.Minute DATEPART(dakika, @dateTimeOffset)
dateTimeOffset.Month DATEPART(ay, @dateTimeOffset)
dateTimeOffset.Nanosecond DATEPART(nanosaniye, @dateTimeOffset) % 1000) EF Core 10.0
dateTimeOffset.Offset.TotalMinutes CAST(DATEPART(tz, @dateTimeOffset) AS float) EF Core 11.0
dateTimeOffset.Second (Saniye) DATEPART(saniye, @dateTimeOffset)
dateTimeOffset.GününSaati DÖNÜŞTÜR(zaman, @dateTimeOffset)
dateTimeOffset.ToOffset(ofset) SWITCHOFFSET(@dateTimeOffset, @offset) EF Core 11.0
dateTimeOffset.ToUnixTimeSeconds() DATEDIFF_BIG(ikinci, '1970-01-01T00:00:00.0000000+00:00', @dateTimeOffset)
dateTimeOffset.ToUnixTimeMilliseconds() DATEDIFF_BIG(milisaniye, '1970-01-01T00:00:00.0000000+00:00', @dateTimeOffset)
dateTimeOffset.UtcDateTime ÇEVİR(datetime2, @dateTimeOffset ZAMAN DİLİMİNDE 'UTC') EF Core 11.0
dateTimeOffset.Year TARİh BÖLÜMÜ(yıl, @dateTimeOffset)
new DateTimeOffset(dateTime) TODATETIMEOFFSET(@dateTime, '+00:00') EF Core 11.0
new DateTimeOffset(dateTime, offset) TODATETIMEOFFSET(@dateTime, @offset) EF Core 11.0
DateOnly.FromDateTime(dateTime) ÇEVİr(tarih, @dateTime)
dateOnly.AddDays(değer) DATEADD(gün, @value, @dateOnly))
dateOnly.AddMonths(aylar) DATEADD(ay, @months, @dateOnly)
dateOnly.AddYears(değer) DATEADD(yıl, @value, @dateOnly)
dateOnly.Day DATEPART(gün, @dateOnly)
dateOnly.YılınGünü DATEPART(yılın günü, @dateOnly)
dateOnly.Month DATEPART(ay, @dateOnly)
dateOnly.Yıl TARİh BÖLÜMÜ(yıl, @dateOnly)
dateOnly.DayNumber DATEDIFF(gün, '0001-01-01', @dateOnly) EF Core 10.0
EF. Functions.AtTimeZone(dateTime, timeZone) @dateTime SAAT DILIMINDE @timeZone
EF. Functions.DateDiffDay(başlangıç, bitiş) DATEDIFF (gün, @start, @end)
EF. Functions.DateDiffHour(başlangıç, bitiş) DATEDIFF(saat, @start, @end)
EF. Functions.DateDiffMicrosecond(başlangıç, bitiş) DATEDIFF(mikrosaniye, @start, @end)
EF. Functions.DateDiffMillisecond(başlangıç, bitiş) DATEDIFF(milisaniye, @start, @end)
EF. Functions.DateDiffMinute(başlangıç, bitiş) DATEDIFF(dakika, @start, @d2)
EF.Functions.DateDiffMonth(başlangıç, bitiş) DATEDIFF(ay, @start, @end)
EF. Functions.DateDiffNanosecond(başlangıç, bitiş) DATEDIFF(nanosecond, @start, @end))
EF. Functions.DateDiffSecond(başlangıç, bitiş) DATEDIFF(saniye, @start, @end))
EF. Functions.DateDiffWeek(başlangıç, bitiş) DATEDIFF(hafta, @start, @end)
EF. Functions.DateDiffYear(başlangıç, bitiş) DATEDIFF(yıl, @start, @end)
EF.Functions.DateFromParts(yıl, ay, gün) DATEFROMPARTS(@year, @month, @day)
EF. Functions.DateTime2FromParts(yıl, ay, gün, ...) DATETIME2FROMPARTS(@year, @month, @day, ...)
EF. Functions.DateTimeFromParts(yıl, ay, gün, ...) DATETIMEFROMPARTS(@year, @month, @day, ...)
EF.Functions.DateTimeOffsetFromParts(yıl, ay, gün, ...) DATETIMEOFFSETFROMPARTS(@year, @month, @day, ...)
EF. Functions.DateTrunc(datepart, value) DATETRUNC(@datepart, @value) EF Core 11.0
EF.Functions.IsDate(ifade) ISDATE(@expression)
EF.Functions.SmallDateTimeFromParts(yıl, ay, gün, ...) SMALLDATETIMEFROMPARTS(@yıl, @month, @day, ...)
EF. Functions.TimeFromParts(saat, dakika, saniye, ...) TIMEFROMPARTS(@hour, @minute, @second, ...)
timeOnly.AddHours(değer) DATEADD(saat, @value, @timeOnly)
timeOnly.AddMinutes(değer) DATEADD(dakika, @value, @timeOnly)
timeOnly.Saat DATEPART(saat, @timeOnly)
timeOnly.IsBetween(başlangıç, bitiş) @timeOnly >= @start VE @timeOnly<@end
timeOnly.Microsecond DATEPART(mikrosaniye, @timeOnly) % 1000) EF Core 10.0
timeOnly.Milisaniye DATEPART(milisaniye, @timeOnly)
timeOnly.Minute DATEPART(dakika, @timeOnly)
timeOnly.Nanosecond DATEPART(nanosaniye, @timeOnly) % 1000) EF Core 10.0
timeOnly.Saniye DATEPART(saniye, @timeOnly)
timeSpan.Saatler DATEPART(saat, @timeSpan)
timeSpan.Mikrosaniye DATEPART(mikrosaniye, @timeSpan) % 1000) EF Core 10.0
timeSpan.Milisaniye DATEPART(milisaniye, @timeSpan)
timeSpan.Minutes DATEPART(dakika, @timeSpan)
timeSpan.Nanosecond DATEPART(nanosaniye, @timeSpan) % 1000) EF Core 10.0
timeSpan.Saniye DATEPART(saniye, @timeSpan)

Sayısal işlevler

.NET SQL eklendi
çift. DegreesToRadians(x) RADYAN(@x)
double.RadiansToDegrees(x) DERECE(@x)
EF.Functions.Random() RAND()
Math.Abs(değer) 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) TAVANAYUVARLA(@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, ondalık basamak) ROUND(@d, @decimals)
Math.Sign(değer) SIGN(@value)
Math.Sin(a) SIN(@a)
Math.Sqrt(d) KAREKÖK(@d)
Math.Tan(a) TAN(@a)
Math.Truncate(d) YUVARLA(@d, 0, 1)

İpucu

Burada listelenen yöntemlere ek olarak, ilgili genel matematik uygulamaları ve MathF yöntemleri de çevrilir. Örneğin, Math.Sin, MathF.Sin, double.Sin, ve float.Sin tümü SIN işlevine SQL'de eşler.

Dize işlevleri

.NET SQL eklendi
EF. Functions.Collate(işlenen, harmanlama) @operand SIRALAMAK @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(özellikReferansı, serbestMetin, dilTerimi) FREETEXT(@propertyReference, @freeText, LANGUAGE @languageTerm)
EF.Functions.IsNumeric(ifade) ISNUMERIC(@expression)
EF.Functions.Like(matchExpression, şablon) @matchExpression GİBİ @pattern
EF.Functions.Like(matchExpression, pattern, escapeCharacter) @matchExpression GİBİ @pattern KAÇIŞ @escapeCharacter
string.Compare(strA, strB) KOŞUL @strA = @strB OLDUĞUNDA 0 ... SONUÇ
string.Concat(str0, str1) @str0 + @str1
string.IsNullOrEmpty(değer) @value NULL VEYA @value LIKE N''
string.IsNullOrWhiteSpace(değer) @value IS NULL VEYA @value = N''
string.Join(", ", new [] { x, y, z}) CONCAT_WS(N', ', @x, @y, @z)) EF Core 9.0
stringValue.CompareTo(strB) KOŞUL @stringValue = @strB OLDUĞUNDA 0 ... SONUÇ
stringValue.Contains(değer) @stringValue LIKE N'%' + @value + N'%'
stringValue.EndsWith(değer) @stringValue LIKE N'%' + @value
stringValue.FirstOrDefault() PARÇAAL(@stringValue, 1, 1)
stringValue.IndexOf(değer) CHARINDEX(@value, @stringValue) - 1
stringValue.IndexOf(value, startIndex) CHARINDEX(@value, @stringValue, @startIndex) - 1
stringValue.LastOrDefault() PARÇA DİZİ(@stringValue, UZUNLUK(@stringValue), 1)
stringValue.Length LEN(@stringValue)
stringValue.Replace(@oldValue, @newValue) DEĞİŞTİR(@stringValue, @oldValue, @newValue)
stringValue.StartsWith(değer) @stringValue LIKE @value + N'%'
stringValue.Substring(startIndex) PARÇAAL(@stringValue, @startIndex + 1, UZUNLUK(@stringValue))
stringValue.Substring(startIndex, length) PARÇA AL(@stringValue, @startIndex + 1, @length)
stringValue.ToLower() LOWER(@stringValue)
stringValue.ToUpper() BÜYÜKHARF(@stringValue)
stringValue.Trim() LTRIM(RTRIM(@stringValue))
stringValue.TrimEnd() RTRIM(@stringValue)
stringValue.TrimStart() LTRIM(@stringValue)

JSON işlevleri

.NET SQL eklendi
EF.Functions.JsonContains(json, searchValue, path?, searchMode?) JSON_CONTAINS(@json, @searchValue, @path?, @searchMode?) EF 11.0
EF.Functions.JsonPathExists(json, path) JSON_PATH_EXISTS(@json, @path) EF 11.0

Çeşitli işlevler

.NET SQL eklendi
enumValue.HasFlag(flag) @enumValue & @flag = @flag
Guid.NewGuid() NEWID()
Nullable. GetValueOrDefault() COALESCE(@nullable, 0) - Bu, @nullable değişkeni null ise 0 değerini döndüren bir fonksiyondur.
Nullable.GetValueOrDefault(defaultValue) COALESCE(@nullable, @defaultValue)

Not

Bazı SQL çevirileri çizim amacıyla basitleştirilmiştir. Gerçek SQL, daha geniş bir değer aralığını işlemek için daha karmaşıktır.

Ayrıca bkz.