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 SQLite.
Fungsi agregat
Untuk informasi umum tentang menggunakan fungsi agregat dalam kueri, lihat Fungsi agregat.
| .NET | SQL | Ditambahkan dalam |
|---|---|---|
| kelompok.average(x => x.Property) | AVG(Property) | |
| kelompok.Rata-rata(x => x.DecimalProperty) | ef_avg(DecimalProperty) | EF Core 9.0 |
| kelompok. Count() | COUNT(*) | |
| kelompok. LongCount() | COUNT(*) | |
| grup.Max(x => x.Property) | MAX(Property) | |
| kelompok.Min(x => x.Property) | MIN(Properti) | |
| kelompok.Sum(x => x.Property) | JUMLAH(Properti) | |
| kelompok.Jumlah(x => x.DecimalProperty) | ef_sum(DecimalProperty) | EF Core 9.0 |
| String.Concat(group.Select(x => x.Property)) | group_concat(Properti, '') | |
| string.Concat(group.OrderBy(x => x.Other).Select(x => x.Property)) | group_concat(Property, '' ORDER BY Other) | EF Core 11.0 |
| tali. Gabung(pemisah, grup. Pilih(x => x.Property)) | group_concat(Properti, @separator) | |
| string.Join(separator, group.OrderBy(x => x.Other).Select(x => x.Property)) | group_concat(Property, @separator ORDER BY Other) | EF Core 11.0 |
Fungsi biner
| .NET | SQL | Ditambahkan dalam |
|---|---|---|
| Byte. Contains(value) | instr(@bytes, char(@value)) > 0 | |
| Byte. Panjangnya | length(@bytes) | |
| bytes.SequenceEqual(second) | @bytes = @second | |
| EF.Functions.Hex(byte) | hex(@bytes) | |
| EF.Functions.Substr(bytes, startIndex) | substr(@bytes, @startIndex) | |
| EF. Functions.Substr(byte, startIndex, length) | substr(@bytes, @startIndex, @length) | |
| EF.Functions.Unhex(value) | unhex(@value) | |
| EF.Functions.Unhex(value, ignoreChars) | unhex(@value, @ignoreChars) |
Fungsi konversi
| .NET | SQL |
|---|---|
| boolValue.ToString() | CAST(@boolValue sebagai teks) |
| byteValue.ToString() (mengonversi byteValue ke String) | CAST(@byteValue SEBAGAI TEKS) |
| bytes.ToString() | CAST(@bytes SEBAGAI TEKS) |
| charValue.ToString() (Mengubah nilai karakter menjadi string) | CAST(@charValue SEBAGAI teks) |
| dateTime.ToString() | CAST(@dateTime SEBAGAI TEKS) |
| dateTimeOffset.ToString() | UBAH(@dateTimeOffset MENJADI TEKS) |
| decimalValue.ToString() | CAST(@decimalValue SEBAGAI TEKS) |
| doubleValue.ToString() | CAST(@doubleValue SEBAGAI TEKS) |
| floatValue.ToString() | CAST(@floatValue SEBAGAI TEKS) |
| Guid. ToString() | CAST(@guid SEBAGAI TEKS) |
| intValue.ToString() | CAST(@intValue sebagai teks) |
| longValue.ToString() | CAST(@longValue SEBAGAI TEKS) |
| sbyteValue.ToString() | CAST(@sbyteValue SEBAGAI TEKS) |
| shortValue.ToString() | CAST(@shortValue SEBAGAI TEKS) |
| timeSpan.ToString() | CAST(@timeSpan SEBAGAI TEKS) |
| uintValue.ToString() | CAST(@uintValue SEBAGAI TEKS) |
| ushortValue.ToString() | CAST(@ushortValue AS TEXT) |
Fungsi tanggal dan waktu
| .NET | SQL | Ditambahkan dalam |
|---|---|---|
| dateOnly.AddDays(value) | date(@dateOnly, @value || ' hari') | |
| dateOnly.AddMonths(bulan) | date(@dateOnly, @months || ' bulan') | |
| dateOnly.AddYears(value) | date(@dateOnly, @value || ' tahun') | |
| tanggalHanya.Hari | strftime('%d', @dateOnly) | |
| tanggalSaja.HariDalamMinggu | strftime('%w', @dateOnly) ) | |
| dateOnly.DayOfYear | strftime('%j', @dateOnly) | |
| DateOnly.FromDateTime(dateTime) | tanggal(@dateTime) | |
| dateOnly.Month | strftime('%m', @dateOnly) | |
| dateOnly.Tahun | strftime('%Y', @dateOnly) | |
| dateOnly.DayNumber | CAST(julianday(@dateOnly) - julianday('0001-01-01') AS INTEGER) // Menghitung jumlah hari dari 1 Januari 0001 hingga tanggal yang ditentukan. | EF Core 10.0 |
| DateTime.Now | datetime('now', 'localtime') | |
| DateTime.Today | datetime('sekarang', 'waktu lokal', 'awal hari') | |
| DateTime.UtcNow | datetime('now') | |
| dateTime.AddDays(value) | datetime(@dateTime, @value || ' hari') | |
| dateTime.AddHours(value) | datetime(@dateTime, @d || ' jam') | |
| dateTime.AddMilliseconds(value) | datetime(@dateTime, (@value / 1000.0) || ' detik') | |
| dateTime.AddMinutes(value) | datetime(@dateTime, @value || ' menit') | |
| dateTime.AddMonths(bulan) | datetime(@dateTime, @months || ' bulan') | |
| dateTime.AddSeconds(value) | datetime(@dateTime, @value || ' detik') | |
| dateTime.AddTicks(value) | datetime(@dateTime, (@value / 10000000.0) || ' detik') | |
| dateTime.AddYears(value) | datetime(@dateTime, @value || ' tahun') | |
| dateTime.Date | datetime(@dateTime, 'awal hari') | |
| dateTime.Day | strftime('%d', @dateTime) | |
| dateTime.DayOfWeek | strftime('%w', @dateTime) ) | |
| dateTime.DayOfYear | strftime('%j', @dateTime) | |
| dateTime.Hour | strftime('%H', @dateTime) | |
| dateTime.Millisecond | (strftime('%f', @dateTime) * 1000) % 1000 | |
| dateTime.Minute | strftime('%M', @dateTime) | |
| dateTime.Month | strftime('%m', @dateTime) | |
| dateTime.Second | strftime('%S', @dateTime) | |
| dateTime.Ticks | (julianday(@dateTime) - julianday('0001-01-01 00:00:00')) * 8640000000000 | |
| dateTime.TimeOfDay | time(@dateTime) | |
| dateTime.Year | strftime('%Y', @dateTime) |
Catatan
Beberapa SQL telah disederhanakan untuk tujuan ilustrasi. SQL aktual lebih kompleks untuk menangani berbagai nilai yang lebih luas.
Fungsi numerik
| .NET | SQL | Ditambahkan dalam |
|---|---|---|
| -nilaiDesimal | ef_negate(@decimalValue) | |
| decimalValue - d | ef_add(@decimalValue, ef_negate(@d)) | |
| decimalValue * d | ef_multiply(@decimalValue, @d) | |
| decimalValue / d | ef_divide(@decimalValue, @d) | |
| decimalValue % d | ef_mod(@decimalValue, @d) | |
| decimalValue + d | ef_add(@decimalValue, @d) | |
| decimalValue < d | ef_compare(@decimalValue, @d)< 0 | |
| (decimalValue <= d) | ef_compare(@decimalValue, @d)<= 0 | |
| decimalValue > d | ef_compare(@decimalValue, @d)> 0 | |
| (decimalValue >= d) | ef_compare(@decimalValue, @d)>= 0 | |
| dobel. DegreesToRadians(derajat) | radian (@degrees) | |
| double.RadiansToDegrees(radians) | derajat(@dradians) | |
| doubleValue % d | mod(@doubleValue, @d) | |
| EF.Functions.Random() | abs(random() / 9223372036854780000.0) | |
| Math.Abs(value) | abs(@value) | |
| Math.Acos(value) | acos(@value) | |
| Math.Acosh(d) | acosh(@d) | |
| Math.Asin(d) | asin(@d) | |
| Math.Asinh(d) | asinh(@d) | |
| Math.Atan(d) | atan(@d) | |
| Math.Atan2(y, x) | atan2(@y, @x)) | |
| Math.Atanh(d) | atanh(@d) | |
| Math.Ceiling(d) | langit-langit (@d) | |
| Math.Cos(d) | cos(@d) | |
| Math.Cosh(value) | cosh(@value) | |
| Math.Exp(d) | exp(@d) | |
| Math.Floor(d) | floor(@d) | |
| Math.Log(d) | ln(@d) | EF Core 8.0 |
| Math.Log(a, newBase) | log(@newBase, @a)) | EF Core 8.0 |
| Math.Log2(x) | log2(@x) | EF Core 8.0 |
| Math.Log10(d) | log10(@d) | EF Core 8.0 |
| Math.Max(val1, val2) | max(@val1, @val2) | |
| Math.Min(val1, val2) | min(@val1, @val2) | |
| Math.Pow(x, y) | pow(@x, @y) | EF Core 8.0 |
| Math.Round(d) | round(@d) | |
| Math.Round(d, digit) | round(@d, @digits) | |
| Math.Sign(d) | sign(@d) | EF Core 8.0 |
| Math.Sin(a) | sin(@a) | EF Core 8.0 |
| Math.Sinh(value) | sinh(@value) | EF Core 8.0 |
| Math.Sqrt(d) | sqrt(@d) | EF Core 8.0 |
| Math.Tan(a) | tan(@a) | EF Core 8.0 |
| Math.Tanh(value) | tanh(@value) | EF Core 8.0 |
| Math.Truncate(d) | trunc(@d) | EF Core 8.0 |
Petunjuk
Selain metode yang tercantum di sini, implementasi matematika generik yang bersesuaian dan metode MathF diterjemahkan juga. Misalnya, Math.Sin, MathF.Sin, double.Sin, dan float.Sin semuanya memetakan ke fungsi sin di SQL.
Petunjuk
Fungsi SQL yang diawali dengan ef_ dibuat oleh EF Core.
Fungsi string
| .NET | SQL |
|---|---|
| Char.ToLower(c) | lower(@c) |
| char.ToUpper(c) | upper(@c) |
| EF.Functions.Collate(operand, collation) | @operand SUSUN @collation |
| EF.Functions.Glob(matchExpression, pattern) | @matchExpression GLOB @pattern |
| EF.Functions.Like(matchExpression, pattern) | @matchExpression SUKA @pattern |
| EF.Functions.Like(matchExpression, pattern, escapeCharacter) | @matchExpression SEPERTI @pattern ESCAPE @escapeCharacter |
| Regex.IsMatch(input, pattern) | @input REGEXP @pattern |
| string.Compare(strA, strB) | KASUS KETIKA @strA = @strB KEMUDIAN 0 ... UJUNG |
| string.Concat(str0, str1) | @str0 || @str1 |
| string.IsNullOrEmpty(value) | @value ADALAH NULL ATAU @value = '' |
| string.IsNullOrWhiteSpace(value) | @value ADALAH NULL ATAU trim(@value) = '' |
| stringValue.CompareTo(strB) | KASUS KETIKA @stringValue = @strB KEMUDIAN 0 ... UJUNG |
| stringValue.Contains(value) | instr(@stringValue, @value)> 0 |
| stringValue.MengakhiriDengan(value) | @stringValue SEPERTI '%' || @value |
| stringValue.FirstOrDefault() | substr(@stringValue, 1, 1) |
| stringValue.IndexOf(value) | instr(@stringValue, @value) - 1 |
| stringValue.LastOrDefault() | substr(@stringValue, length(@stringValue), 1) |
| stringValue.Length | length(@stringValue) |
| stringValue.Replace(oldValue, newValue) | replace(@stringValue, @oldValue, @newValue) |
| stringValue.StartsWith(value) | @stringValue SEPERTI @value || '%' |
| stringValue.Substring(startIndex) | substr(@stringValue, @startIndex + 1) |
| stringValue.Substring(startIndex, length) | substr(@stringValue, @startIndex + 1, @length) |
| stringValue.ToLower() | lower(@stringValue) |
| stringValue.ToUpper() | upper(@stringValue) |
| stringValue.Trim() | trim(@stringValue) |
| stringValue.Trim(trimChar) | trim(@stringValue, @trimChar) |
| stringValue.TrimEnd() | rtrim(@stringValue) |
| stringValue.TrimEnd(trimChar) | rtrim(@stringValue, @trimChar) |
| stringValue.TrimStart() | ltrim(@stringValue) |
| stringValue.TrimStart(trimChar) | ltrim(@stringValue, @trimChar) |
Catatan
Beberapa SQL telah disederhanakan untuk tujuan ilustrasi. SQL aktual lebih kompleks untuk menangani berbagai nilai yang lebih luas.
Fungsi lain
| .NET | SQL |
|---|---|
| koleksi. Berisi(item) | @item DI @collection |
| enumValue.HasFlag(flag) | @enumValue & @flag = @flag |
| "nullable.GetValueOrDefault()" | coalesce(@nullable, 0) |
| nullable.GetValueOrDefault(defaultValue) | coalesce(@nullable, @defaultValue) |