Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Halaman ini menunjukkan anggota .NET mana yang diterjemahkan ke dalam fungsi SQL mana saat menggunakan penyedia SQL Server.
Fungsi agregat
| .NET | SQL | Ditambahkan dalam |
|---|---|---|
| EF. Functions.StandardDeviationSample(group. Pilih(x => x.Property)) | STDEV(Properti) | |
| EF. Functions.StandardDeviationPopulation(group. Pilih(x => x.Property)) | STDEVP(Properti) | |
| EF. Functions.VarianceSample(group. Pilih(x => x.Property)) | VAR(Properti) | |
| EF.Functions.VariancePopulation(group.Select(x => x.Property)) | VARP(Properti) | |
| kelompok.RataRata(x => x.Property) | AVG(Property) | |
| kelompok. Count() | COUNT(*) | |
| kelompok. LongCount() | COUNT_BIG(*) | |
| group.MAX(x => x.Property) | MAX(Property) | |
| kelompok. Min(x => x.Property) | MIN(Property) | |
| kelompok.Jumlah(x => x.Property) | JUMLAH(Properti) | |
| String.Concat(group.Select(x => x.Property)) | STRING_AGG(Properti, N''') | |
| tali. Gabung(pemisah, grup. Pilih(x => x.Property)) | STRING_AGG(Properti, @separator) |
Fungsi biner
| .NET | SQL | Ditambahkan dalam |
|---|---|---|
| Byte. Contains(value) | CHARINDEX(@value, @bytes)> 0 | |
| bytes.ElementAt(i) | SUBSTRING(@bytes, @i + 1, 1) | |
| bytes.First() | SUBSTRING(@bytes, 1, 1) | |
| Byte. Panjangnya | DATALENGTH(@bytes) | |
| ByteSequenceEqual(second) | @bytes = @second | |
| bytes[i] | SUBSTRING(@bytes, @i + 1, 1) | |
| EF.Functions.DataLength(arg) | DATALENGTH(@arg) |
Fungsi konversi
| .NET | SQL | Ditambahkan dalam |
|---|---|---|
| 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) (mengubah ke desimal dengan nilai) | CONVERT(desimal(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) | |
| 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) | |
| timeSpan.ToString() | CONVERT(varchar(100), @timeSpan) | |
| uintValue.ToString() | CONVERT (varchar(10), @uintValue) | |
| ulongValue.ToString() | CONVERT(varchar(19), @ulongValue) | |
| ushortValue.ToString() | CONVERT(varchar(5), @ushortValue) |
Fungsi tanggal dan waktu
| .NET | SQL | Ditambahkan dalam |
|---|---|---|
| DateTime.Now | GETDATE() | |
| DateTime.Today | CONVERT(date, GETDATE()) | |
| DateTime.UtcNow | GETUTCDATE() | |
| dateTime.AddDays(value) | DATEADD(hari, @value, @dateTime) | |
| dateTime.AddHours(value) | DATEADD(jam, @value, @dateTime) | |
| dateTime.AddMilliseconds(value) | DATEADD(milidetik, @value, @dateTime) | |
| dateTime.AddMinutes(value) | DATEADD(menit, @value, @dateTime) | |
| dateTime.AddMonths(bulan) | DATEADD(bulan, @months, @dateTime) | |
| dateTime.AddSeconds(value) | DATEADD(detik, @value, @dateTime) | |
| dateTime.AddYears(value) | DATEADD(tahun, @value, @dateTime) | |
| dateTime.Date | KONVERSI(tanggal, @dateTime) | |
| dateTime.Day | DATEPART(hari, @dateTime) | |
| dateTime.DayOfYear | DATEPART(dayofyear, @dateTime) | |
| dateTime.Hour | DATEPART(jam, @dateTime) | |
| dateTime.Microsecond | DATEPART(microsecond, @dateTime) % 1000 | EF Core 10.0 |
| dateTime.Millisecond | DATEPART(milidetik, @dateTime) | |
| dateTime.Minute | DATEPART(menit, @dateTime) | |
| dateTime.Month | DATEPART(bulan, @dateTime) | |
| dateTime.Nanosecond | DATEPART(nanodetik, @dateTime) % 1000 | EF Core 10.0 |
| dateTime.Second | DATEPART(detik, @dateTime) | |
| dateTime.TimeOfDay | CONVERT(waktu, @dateTime) | |
| dateTime.Year | DATEPART(tahun, @dateTime) | |
| DateTimeOffset.Now | SYSDATETIMEOFFSET() | |
| DateTimeOffset.UtcNow | SYSUTCDATETIME() | |
| dateTimeOffset.AddDays(days) | DATEADD(hari, @days, @dateTimeOffset) | |
| dateTimeOffset.AddHours(hours) | DATEADD(jam, @hours, @dateTimeOffset) | |
| dateTimeOffset.AddMilliseconds(milisecond) | DATEADD(milidetik, @milliseconds, @dateTimeOffset) | |
| dateTimeOffset.AddMinutes(menit) | DATEADD(menit, @minutes, @dateTimeOffset) | |
| dateTimeOffset.AddMonths(bulan) | DATEADD(bulan, @months, @dateTimeOffset) | |
| dateTimeOffset.AddSeconds(detik) | DATEADD(detik, @seconds, @dateTimeOffset) | |
| dateTimeOffset.AddYears(years) | DATEADD(tahun, @years, @dateTimeOffset) | |
| dateTimeOffset.Date | KONVERSI(tanggal, @dateTimeOffset) | |
| dateTimeOffset.DateTime | CONVERT(datetime2, @dateTimeOffset) | EF Core 11.0 |
| dateTimeOffset.Day | DATEPART(hari, @dateTimeOffset) | |
| dateTimeOffset.DayOfYear | DATEPART(dayofyear, @dateTimeOffset) | |
| dateTimeOffset.Hour | DATEPART(jam, @dateTimeOffset) | |
| dateTimeOffset.LocalDateTime | CONVERT(datetime2, @dateTimeOffset AT TIME ZONE CURRENT_TIMEZONE_ID()) | EF Core 11.0 |
| dateTimeOffset.Microsecond | DATEPART(microsecond, @dateTimeOffset) % 1000 | EF Core 10.0 |
| dateTimeOffset.Millisecond | DATEPART(milidetik, @dateTimeOffset) | |
| dateTimeOffset.Minute | DATEPART(menit, @dateTimeOffset) | |
| dateTimeOffset.Month | DATEPART(bulan, @dateTimeOffset) | |
| dateTimeOffset.Nanosecond | DATEPART(nanodetik, @dateTimeOffset) % 1000 | EF Core 10.0 |
| dateTimeOffset.Offset.TotalMinutes | CAST(DATEPART(tz, @dateTimeOffset) AS float) | EF Core 11.0 |
| dateTimeOffset.Second | DATEPART(detik, @dateTimeOffset) | |
| dateTimeOffset.WaktuDalamSehari | CONVERT(waktu, @dateTimeOffset) | |
| dateTimeOffset.ToOffset(offset) | SWITCHOFFSET(@dateTimeOffset, @offset) | EF Core 11.0 |
| dateTimeOffset.ToUnixTimeSeconds() | DATEDIFF_BIG(detik, '1970-01-01T00:00:00.0000000+00:00', @dateTimeOffset) | |
| dateTimeOffset.ToUnixTimeMilliseconds() | DATEDIFF_BIG(milidetik, '1970-01-01T00:00:00.0000000+00:00', @dateTimeOffset) | |
| dateTimeOffset.UtcDateTime | CONVERT(datetime2, @dateTimeOffset AT TIME ZONE 'UTC') | EF Core 11.0 |
| dateTimeOffset.Year | DATEPART(tahun, @dateTimeOffset) | |
| DateTimeOffset baru(dateTime) | TODATETIMEOFFSET(@dateTime, '+00:00') | EF Core 11.0 |
| new DateTimeOffset(dateTime, offset) | TODATETIMEOFFSET(@dateTime, @offset) | EF Core 11.0 |
| DateOnly.FromDateTime(dateTime) | KONVERSI(tanggal, @dateTime) | |
| dateOnly.AddDays(value) | DATEADD(hari, @value, @dateOnly) | |
| dateOnly.AddMonths(bulan) | DATEADD(bulan, @months, @dateOnly) | |
| dateOnly.AddYears(value) | DATEADD(tahun, @value, @dateOnly) | |
| dateOnly.Day | DATEPART(hari, @dateOnly) | |
| dateOnly.DayOfYear | DATEPART(hari_dalam_tahun, @dateOnly) | |
| dateOnly.Month | DATEPART(bulan, @dateOnly) | |
| dateOnly.Tahun | DATEPART(tahun, @dateOnly) | |
| dateOnly.DayNumber | DATEDIFF(hari, '0001-01-01', @dateOnly) | EF Core 10.0 |
| EF. Functions.AtTimeZone(dateTime, timeZone) | @dateTime DI ZONA WAKTU @timeZone | |
| EF.Functions.DateDiffDay(start, end) | DATEDIFF(hari, @start, @end) | |
| EF.Functions.DateDiffHour(start, end) | DATEDIFF(jam, @start, @end) | |
| EF.Functions.DateDiffMicrosecond(start, end) | DATEDIFF(microsecond, @start, @end) | |
| EF.Functions.DateDiffMillisecond(start, end) | DATEDIFF(milidetik, @start, @end) | |
| EF. Functions.DateDiffMinute(start, end) | DATEDIFF(menit, @start, @d2) | |
| EF.Functions.DateDiffMonth(start, end) | DATEDIFF(bulan, @start, @end) | |
| EF.Functions.DateDiffNanosecond(start, end) | DATEDIFF(nanosekon, @start, @end) | |
| EF.Functions.DateDiffSecond(start, end) | DATEDIFF(detik, @start, @end) | |
| EF.Functions.DateDiffWeek(start, end) | DATEDIFF(minggu, @start, @end) | |
| EF.Functions.DateDiffYear(start, end) | DATEDIFF(tahun, @start, @end) | |
| EF.Functions.DateFromParts(tahun, bulan, hari) | DATEFROMPARTS(@year, @month, @day) | |
| EF.Functions.DateTime2FromParts(year, month, day, ...) | DATETIME2FROMPARTS(@year, @month, @day, ...) | |
| EF. Functions.DateTimeFromParts(year, month, day, ...) | DATETIMEFROMPARTS(@year, @month, @day, ...) | |
| EF.Functions.DateTimeOffsetFromParts(tahun, bulan, hari, ...) | DATETIMEOFFSETFROMPARTS(@year, @month, , @day...) | |
| EF.Functions.DateTrunc(datepart, value) | DATETRUNC(@datepart, @value) | EF Core 11.0 |
| EF. Functions.IsDate(expression) | ISDATE(@expression) | |
| EF.Functions.SmallDateTimeFromParts(tahun, bulan, hari, ...) | SMALLDATETIMEFROMPARTS(@year, , @month, @day...) | |
| EF. Functions.TimeFromParts(jam, menit, detik, ...) | TIMEFROMPARTS(@hour, @minute, @second, ...) | |
| timeOnly.AddHours(value) | DATEADD(jam, @value, @timeOnly) | |
| timeOnly.AddMinutes(value) | DATEADD(menit, @value, @timeOnly) | |
| timeOnly.Hour | DATEPART(jam, @timeOnly) | |
| timeOnly.IsBetween(start, end) yang berarti nilai "timeOnly" berada di antara "start" dan "end". | @timeOnly >= @start DAN @timeOnly<@end | |
| timeOnly.Microsecond | DATEPART(microsecond, @timeOnly) % 1000 | EF Core 10.0 |
| timeOnly.Millisecond | DATEPART(milidetik, @timeOnly) | |
| timeOnly.Minute | DATEPART(menit, @timeOnly) | |
| timeOnly.Nanosecond | DATEPART(nanodetik, @timeOnly) % 1000 | EF Core 10.0 |
| timeOnly.Second | DATEPART(detik, @timeOnly) | |
| timeSpan.Hours | DATEPART(jam, @timeSpan) | |
| timeSpan.Microsecond | DATEPART(microsecond, @timeSpan) % 1000 | EF Core 10.0 |
| timeSpan.Milliseconds | DATEPART(milidetik, @timeSpan) | |
| timeSpan.Minutes | DATEPART(menit, @timeSpan) | |
| timeSpan.Nanosecond | DATEPART(nanodetik, @timeSpan) % 1000 | EF Core 10.0 |
| timeSpan.Seconds | DATEPART(detik, @timeSpan) |
Fungsi numerik
| .NET | SQL | Ditambahkan dalam |
|---|---|---|
| dobel. DegreesToRadians(x) | RADIANS(@x) | |
| dobel. RadiansToDegrees(x) | DEGREES(@x) | |
| EF.Functions.Random() | RAND() | |
| Math.Abs(value) | 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, desimal) | 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) |
Petunjuk
Selain metode yang tercantum di sini, implementasi matematika generik yang sesuai dan metode MathF juga diterjemahkan. Misalnya, Math.Sin, MathF.Sin, double.Sin, dan float.Sin semuanya memetakan ke fungsi SIN dalam SQL.
Fungsi string
| .NET | SQL | Ditambahkan dalam |
|---|---|---|
| EF.Functions.Collate(operand, collation) | @operand KOLOKASI @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, BAHASA @languageTerm) | |
| EF.Functions.IsNumeric(expression) | ISNUMERIC(@expression) | |
| EF.Functions.Like(matchExpression, pattern) | @matchExpression SUKA @pattern | |
| EF.Functions.Like(matchExpression, pattern, escapeCharacter) | @matchExpression SEPERTI @pattern ESCAPE @escapeCharacter | |
| string.compare(strA, strB) | KASUS KAPAN @strA = @strB KEMUDIAN 0 ... END | |
| String.Concat(str0, str1) | @str0 + @str1 | |
| string.IsNullOrEmpty(value) | @value ADALAH NULL ATAU @value SEPERTI N'' | |
| string.IsNullOrWhiteSpace(value) | @value ADALAH NULL ATAU @value = N'' | |
| String. Join(", ", new [] { x, y, z}) | CONCAT_WS(N', ', @x, @y, @z)) | EF Core 9.0 |
| stringValue.CompareTo(strB) | KASUS KAPAN @stringValue = @strB KEMUDIAN 0 ... END | |
| stringValue.Contains(value) | @stringValue SEPERTI 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 | |
| stringValue.LastOrDefault() | Fungsi SUBSTRING(@stringValue, LEN(@stringValue), 1) digunakan untuk mengambil karakter terakhir dari @stringValue. | |
| 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, length) | 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) |
Fungsi JSON
| .NET | SQL | Ditambahkan dalam |
|---|---|---|
| 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 |
Fungsi lain
| .NET | SQL | Ditambahkan dalam |
|---|---|---|
| enumValue.HasFlag(flag) | @enumValue & @flag = @flag | |
| Guid.NewGuid() | NEWID() | |
| nullable.GetValueOrDefault() | COALESCE(@nullable, 0) | |
| dapat diubah ke null. GetValueOrDefault(defaultValue) | COALESCE(@nullable, @defaultValue) |
Catatan
Beberapa terjemahan SQL telah disederhanakan untuk tujuan ilustrasi. SQL aktual lebih kompleks untuk menangani berbagai nilai yang lebih luas.