Aracılığıyla paylaş


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)) STDSAPMA(Özellik) EF Core 7.0
EF. Functions.StandardDeviationPopulation(group. Select(x => x.Property)) STDSAPMA(Özellik) EF Core 7.0
EF. Functions.VarianceSample(group. Select(x => x.Property)) VAR(Özellik) EF Core 7.0
EF. Functions.VariancePopulation(group. Select(x => x.Property)) VARP(Özellik) EF Core 7.0
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. Sum(x => x.Property) SUM(Özellik)
dizgi. Concat(group. Select(x => x.Property)) STRING_AGG(Özellik, N'') EF Core 7.0
dizgi. Join(ayırıcı, grup. Select(x => x.Property)) STRING_AGG(Özellik, @separator) EF Core 7.0

İkili işlevler

.NET SQL eklendi
Bayt. contains(value) CHARINDEX(@value, @bytes)> 0
Bayt. ElementAt(i) ALT DIZE(@bytes, @i + 1, 1) EF Core 8.0
Bayt. First() ALT DIZE(@bytes, 1, 1)
Bayt. Uzunluk DATALENGTH(@bytes)
Bayt. SequenceEqual(saniye) @bytes = @second
bytes[i] ALT DIZE(@bytes, @i + 1, 1)
EF. Functions.DataLength(arg) DATALENGTH(@arg)

Dönüştürme işlevleri

.NET SQL eklendi
Bayt. ToString() ÇEVİr(varchar(100), @bytes)
byteValue.ToString() ÇEVİr(varchar(3), @byteValue)
charValue.ToString() ÇEVİr(varchar(1), @charValue)
Convert.ToBoolean(değer) DÖNÜŞTÜR(bit, @value)
Convert.ToByte(değer) ÇEVİr(tinyint, @value)
Convert.ToDecimal(değer) ÇEVİr(ondalık(18, 2), @value)
Convert.ToDouble(değer) ÇEVİr(kayan, @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) EF Core 8.0
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)
Guıd. 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) EF Core 8.0
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) TARİhADD(ay, @months, @dateTime)
dateTime.AddSeconds(değer) DATEADD(ikinci, @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(dayofyear, @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.Second DATEPART(saniye, @dateTime)
dateTime.TimeOfDay DÖNÜŞTÜR(saat, @dateTime)
dateTime.Year TARİh BÖLÜMÜ(yıl, @dateTime)
DateTimeOffset.Now SYSDATETIMEOFFSET()
DateTimeOffset.UtcNow SYSUTCDATETIME()
dateTimeOffset.AddDays(gün) DATEADD(gün, @days, @dateTimeOffset)
dateTimeOffset.AddHours(saat) DATEADD(saat, @hours, @dateTimeOffset)
dateTimeOffset.AddMilliseconds(milisaniye) DATEADD(milisaniye, @milliseconds, @dateTimeOffset)
dateTimeOffset.AddMinutes(dakika) DATEADD(dakika, @minutes, @dateTimeOffset)
dateTimeOffset.AddMonths(aylar) TARİhADD(ay, @months, @dateTimeOffset)
dateTimeOffset.AddSeconds(saniye) DATEADD(ikinci, @seconds, @dateTimeOffset)
dateTimeOffset.AddYears(yıl) DATEADD(yıl, @years, @dateTimeOffset)
dateTimeOffset.Date ÇEVİr(tarih, @dateTimeOffset)
dateTimeOffset.Day DATEPART(gün, @dateTimeOffset)
dateTimeOffset.DayOfYear DATEPART(dayofyear, @dateTimeOffset)
dateTimeOffset.Hour DATEPART(saat, @dateTimeOffset)
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.Second DATEPART(saniye, @dateTimeOffset)
dateTimeOffset.TimeOfDay DÖNÜŞTÜR(saat, @dateTimeOffset)
dateTimeOffset.ToUnixTimeSeconds() DATEDIFF_BIG(ikinci, '1970-01-01T00:00:00.0000000+00:00', @dateTimeOffset) EF Core 8.0
dateTimeOffset.ToUnixTimeMilliseconds() DATEDIFF_BIG(milisaniye, '1970-01-01T00:00:00.0000000+00:00', @dateTimeOffset) EF Core 8.0
dateTimeOffset.Year TARİh BÖLÜMÜ(yıl, @dateTimeOffset)
DateOnly.FromDateTime(dateTime) ÇEVİr(tarih, @dateTime) EF Core 8.0
dateOnly.AddDays(değer) DATEADD(gün, @value, @dateOnly) EF Core 8.0
dateOnly.AddMonths(ay) TARİhADD(ay, @months, @dateOnly) EF Core 8.0
dateOnly.AddYears(değer) DATEADD(yıl, @value, @dateOnly) EF Core 8.0
dateOnly.Day DATEPART(gün, @dateOnly) EF Core 8.0
dateOnly.DayOfYear DATEPART(dayofyear, @dateOnly) EF Core 8.0
dateOnly.Month DATEPART(ay, @dateOnly) EF Core 8.0
dateOnly.Year TARİh BÖLÜMÜ(yıl, @dateOnly) EF Core 8.0
EF. Functions.AtTimeZone(dateTime, timeZone) @dateTime SAAT DILIMINDE @timeZone EF Core 7.0
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(nanosaniye, @start, @end)
EF. Functions.DateDiffSecond(başlangıç, bitiş) DATEDIFF(ikinci, @start, @end)
EF. Functions.DateDiffWeek(başlangıç, bitiş) TARİh FARKI(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.IsDate(ifade) ISDATE(@expression)
EF. Functions.SmallDateTimeFromParts(yıl, ay, gün, ...) SMALLDATETIMEFROMPARTS(@year, @month, @day, ...)
EF. Functions.TimeFromParts(saat, dakika, saniye, ...) TIMEFROMPARTS(@hour, @minute, @second, ...)
timeOnly.AddHours(değer) DATEADD(saat, @value, @timeOnly) EF Core 8.0
timeOnly.AddMinutes(değer) DATEADD(dakika, @value, @timeOnly) EF Core 8.0
timeOnly.Hour DATEPART(saat, @timeOnly) EF Core 8.0
timeOnly.IsBetween(başlangıç, bitiş) @timeOnly >= @start VE @timeOnly<@end EF Core 8.0
timeOnly.Microsecond DATEPART(mikrosaniye, @timeOnly) % 1000 EF Core 10.0
timeOnly.Milisaniye DATEPART(milisaniye, @timeOnly) EF Core 8.0
timeOnly.Minute DATEPART(dakika, @timeOnly) EF Core 8.0
timeOnly.Nanosecond DATEPART(nanosaniye, @timeOnly) % 1000 EF Core 10.0
timeOnly.Second DATEPART(saniye, @timeOnly) EF Core 8.0
timeSpan.Hours 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(nanosecond, @timeSpan) % 1000 EF Core 10.0
timeSpan.Seconds DATEPART(saniye, @timeSpan)

Sayısal işlevler

.NET SQL eklendi
çift. DegreesToRadians(x) RADYAN(@x) EF Core 8.0
çift. RadiansToDegrees(x) DERECE(@x) EF Core 8.0
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ıklar) 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) YUVARLAK(@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.Sinve float.Sin tümü SQL'deki işlevle SIN eşler.

Dize işlevleri

.NET SQL eklendi
EF. Functions.Collate(işlenen, harmanlama) @operand HARMANLAMAK @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(ifade) ISNUMERIC(@expression)
EF. Functions.Like(matchExpression, desen) @matchExpression GİBİ @pattern
EF. Functions.Like(matchExpression, pattern, escapeCharacter) @matchExpression LIKE @pattern ESCAPE @escapeCharacter
dizgi. Compare(strA, strB) O ZAMAN @strA = @strB BÜYÜK/KÜÇÜK HARF 0 ... SON
dizgi. Concat(str0, str1) @str0 + @str1
dizgi. IsNullOrEmpty(değer) @value NULL VEYA @value LIKE N''
dizgi. IsNullOrWhiteSpace(değer) @value IS NULL VEYA @value = N''
dizgi. Join(", ", new [] { x, y, z}) CONCAT_WS(N', ', @x, @y, @z) EF Core 9.0
stringValue.CompareTo(strB) O ZAMAN @stringValue = @strB BÜYÜK/KÜÇÜK HARF 0 ... SON
stringValue.Contains(değer) @stringValue LIKE N'%' + @value + N'%'
stringValue.EndsWith(değer) @stringValue LIKE N'%' + @value
stringValue.FirstOrDefault() ALT DIZE(@stringValue, 1, 1)
stringValue.IndexOf(değer) CHARINDEX(@value, @stringValue) - 1
stringValue.IndexOf(value, startIndex) CHARINDEX(@value, @stringValue, @startIndex) - 1 EF Core 7.0
stringValue.LastOrDefault() ALT DIZE(@stringValue, UZUNLUK(@stringValue), 1)
stringValue.Length UZUNLUK(@stringValue)
stringValue.Replace(@oldValue, @newValue) DEĞİşTİr(@stringValue, @oldValue, @newValue)
stringValue.StartsWith(değer) @stringValue LIKE @value + N'%'
stringValue.Substring(startIndex) ALT DIZE(@stringValue, @startIndex + 1, UZUNLUK(@stringValue))
stringValue.Substring(startIndex, length) ALT DIZE(@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)

Çeşitli işlevler

.NET SQL eklendi
enumValue.HasFlag(bayrak) @enumValue & @flag = @flag
Guid.NewGuid() NEWID()
Nullable. GetValueOrDefault() COALESCE(@nullable, 0)
Nullable. GetValueOrDefault(defaultValue) COALESCE(@nullable, @defaultValue)

Not

Bazı SQL'ler ç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.