

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# T-SQL perbedaan dalam Babelfish
<a name="babelfish-compatibility.tsql.limitations"></a>

Berikut ini, Anda dapat menemukan tabel T-SQL fungsionalitas seperti yang didukung dalam rilis Babelfish saat ini dengan beberapa catatan tentang perbedaan perilaku dari SQL Server.

Untuk informasi selengkapnya tentang dukungan di berbagai versi, lihat [Fungsionalitas yang didukung di Babelfish berdasarkan versi](babelfish-compatibility.supported-functionality-table.md). Untuk informasi tentang fitur yang saat ini tidak didukung, lihat [Fungsionalitas yang tidak didukung di Babelfish](babelfish-compatibility.tsql.limitations-unsupported.md). 

Babelfish tersedia dengan Aurora Edition. PostgreSQL-Compatible Untuk informasi lebih lanjut tentang rilis Babelfish, lihat [https://docs.aws.amazon.com/AmazonRDS/latest/AuroraPostgreSQLReleaseNotes/Welcome.html](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraPostgreSQLReleaseNotes/Welcome.html).


| Fungsionalitas atau sintaks | Deskripsi perilaku atau perbedaan | 
| --- | --- | 
| \\ (karakter kelanjutan baris) | Karakter kelanjutan baris (garis miring terbalik sebelum baris baru) untuk karakter dan string heksadesimal saat ini tidak didukung. Untuk string karakter, backslash-newline ditafsirkan sebagai karakter dalam string. Untuk string heksadesimal, garis miring terbalik menghasilkan kesalahan sintaks.  | 
| @@version | Format nilai yang dikembalikan oleh `@@version` sedikit berbeda dari nilai yang dikembalikan oleh SQL Server. Kode Anda mungkin tidak berfungsi dengan benar jika tergantung pada pemformatan `@@version`. | 
| Fungsi agregat | Fungsi agregat didukung sebagian (AVG, COUNT, COUNT\_BIG, GROUPING, MAX, MIN, STRING\_AGG, dan SUM didukung). Untuk daftar fungsi agregat yang tidak didukung, lihat. [Fungsi yang tidak didukung](babelfish-compatibility.tsql.limitations-unsupported.md#babelfish-compatibility.tsql.limitations-unsupported-list4) | 
| ALTER TABLE | Mendukung penambahan atau penjatuhan satu kolom atau batasan saja.  | 
| ALTER TABLE..ALTER COLUMN | NULL dan NOT NULL saat ini tidak dapat ditentukan. Untuk mengubah nullability kolom, gunakan pernyataan PostgreSQL ALTER TABLE.. {SET\|DROP} NOT NULL.  | 
| DI ZONA WAKTU | Selama transisi dari Daylight Saving Time (DST) ke Waktu Standar, periode tumpang tindih ditampilkan menggunakan offset Waktu Standar. Untuk memperjelas, pertimbangkan contoh berikut: <pre>SELECT CONVERT(DATETIME2(0), '2022-10-30T02:00:00', 126) AT TIME ZONE 'Central European Standard Time';<br />GO;<br />Result: 2022-10-30 02:00:00 +01:00</pre> | 
| Nama kolom kosong tanpa alias kolom | Utilitas `sqlcmd` dan `psql` menangani kolom dengan nama kosong secara berbeda:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/AuroraUserGuide/babelfish-compatibility.tsql.limitations.html) | 
| Fungsi CHECKSUM | Babelfish dan SQL Server menggunakan algoritma hashing yang berbeda untuk fungsi CHECKSUM. Akibatnya, nilai hash yang dihasilkan oleh fungsi CHECKSUM di Babelfish mungkin berbeda dari yang dihasilkan oleh fungsi CHECKSUM di SQL Server. | 
| Kolom default | Saat membuat kolom default, nama batasan diabaikan. Untuk menjatuhkan kolom default, gunakan sintaks berikut: `ALTER TABLE...ALTER COLUMN..DROP DEFAULT...` | 
| Constraint\_name | Di SQL Server, nama kendala harus unik dalam skema yang menjadi milik tabel. Namun, di Babelfish, ini hanya berlaku untuk kendala KUNCI PRIMER dan UNIK. Jenis kendala lainnya tidak tunduk pada batasan ini. | 
| Kekurangan | PostgreSQL tidak mendukung pengaktifan dan penonaktifan batasan individu. Pernyataan itu diabaikan dan peringatan diajukan. | 
| Batasan dengan IGNORE\_DUP\_KEY | Batasan dibuat tanpa properti ini. | 
| CREATE, ALTER, DROP SERVER ROLE | ALTER SERVER ROLE hanya didukung untuk `sysadmin`. Semua sintaks lainnya tidak didukung.<br /> T-SQL Pengguna di Babelfish memiliki pengalaman yang mirip dengan SQL Server untuk konsep login (server principal), database, dan database user (database principal). | 
| Klausa CREATE, ALTER LOGIN didukung dengan sintaks terbatas | CREATE LOGIN... Klausa PASSWORD, ...klausa DEFAULT\_DATABASE, dan... klausa DEFAULT\_LANGUAGE didukung. ALTER LOGIN... Klausa PASSWORD didukung, tetapi ALTER LOGIN... Klausa OLD\_PASSWORD tidak didukung. Hanya login yang merupakan anggota sysadmin yang dapat memodifikasi kata sandi. | 
| Kolasi CREATE DATABASE peka huruf besar/kecil  | Case-sensitive koleksi tidak didukung dengan pernyataan CREATE DATABASE. | 
| Kata kunci dan klausa CREATE DATABASE | Opsi kecuali COLLATE dan CONTAINMENT=NONE tidak didukung. Klausa COLLATE diterima dan selalu diatur ke nilai `babelfishpg_tsql.server_collation_name`. | 
| CREATE SCHEMA... klausa pendukung | Anda dapat menggunakan perintah CREATE SCHEMA untuk membuat skema kosong. Gunakan perintah tambahan untuk membuat objek skema. | 
| Nilai ID basis data berbeda pada Babelfish | Basis data utama dan tempdb tidak akan menjadi ID basis data 1 dan 2. | 
| Format fungsi tipe tanggal didukung dengan batasan berikut | Meridian karakter tunggal tidak didukung.<br />Format "yyy" di server SQL mengembalikan 4 digit untuk tahun di atas 1000, tetapi hanya 3 digit untuk yang lain.<br />Format "g" dan "R" tidak didukung<br />Terjemahan lokal "Vi-VN" sedikit berbeda. | 
| Pengidentifikasi melebihi 63 karakter | PostgreSQL mendukung maksimal 63 karakter untuk pengidentifikasi. Babelfish mengonversi pengenal lebih dari 63 karakter ke nama yang menyertakan hash dari nama aslinya. Misalnya, tabel yang dibuat sebagai "AB(ABC1234567890123456789012345678901234567890123456789012345678901234567890" mungkin akan dikonversi menjadi "ABC123456789012345678901234567890123456789012345678901234567890".  | 
| Dukungan kolom IDENTITY | Kolom IDENTITY didukung untuk tipe data tinyint, smallint, int, bigint. numeric, dan decimal. SQL Server mendukung presisi ke 38 tempat untuk tipe data `numeric` dan `decimal` di kolom IDENTITY.<br />PostgreSQL mendukung presisi ke 19 tempat untuk tipe data `numeric` dan `decimal` di kolom IDENTITY. | 
| Indeks dengan IGNORE\_DUP\_KEY | Sintaks yang membuat indeks yang menyertakan IGNORE\_DUP\_KEY membuat indeks seolah-olah properti ini dihilangkan. | 
| Indeks dengan lebih dari 32 kolom | Indeks tidak dapat menyertakan lebih dari 32 kolom. Kolom indeks yang disertakan dihitung menuju maksimum di PostgreSQL tetapi tidak di SQL Server. | 
| Indeks (berklaster) | Indeks berklaster dibuat seolah-olah NONCLUSTERED ditentukan. | 
| Klausa indeks | Klausul berikut diabaikan: FILLFACTOR, ALLOW\_PAGE\_LOCKS, ALLOW\_ROW\_LOCKS, PAD\_INDEX, STATISTICS\_NORECOMPUTE, OPTIMIZE\_FOR\_SEQUENTIAL\_KEY, SORT\_IN\_TEMPDB, DROP\_EXISTING, ONLINE, COMPRESSION\_DELAY, MAXDOP, dan DATA\_COMPRESSION | 
| Dukungan JSON | Urutan pasangan nama-nilai tidak dijamin. Tetapi tipe array tetap tidak terpengaruh. | 
| Objek LOGIN | Semua opsi untuk objek LOGIN tidak didukung kecuali PASSWORD, DEFAULT\_DATABASE, DEFAULT\_LANGUAGE, ENABLE, DISABLE. | 
| Fungsi NEWSEQUENTIALID | Diimplementasikan sebagai NEWID; perilaku berurutan tidak dijamin. Saat memanggil `NEWSEQUENTIALID`, PostgreSQL menghasilkan nilai GUID baru. | 
| Klausa OUTPUT didukung dengan batasan berikut | OUTPUT dan OUTPUT INTO tidak didukung dalam kueri DML yang sama. Referensi ke tabel non-target operasi UPDATE atau DELETE dalam klausa OUTPUT tidak didukung. OUTPUT... DELETED \*, INSERTED \* tidak didukung dalam kueri yang sama. | 
| Batas parameter prosedur atau fungsi | Babelfish mendukung maksimum 100 parameter untuk prosedur atau fungsi. | 
| ROWGUIDCOL | Klausa ini diabaikan untuk sekarang. Kueri referensi `$GUIDGOL` menyebabkan kesalahan sintaks. | 
| Dukungan objek SEQUENCE | Objek SEQUENCE didukung untuk tipe data tinyint, smallint, int, bigint, numerik, dan desimal.<br />Aurora PostgreSQL mendukung presisi ke 19 tempat untuk tipe data numerik dan desimal dalam SEQUENCE. | 
| Server-level peran | Peran tingkat server `sysadmin` didukung. Peran tingkat server lainnya (selain `sysadmin`) tidak didukung. | 
| Database-level peran selain `db_owner` | Peran `db_owner` tingkat basis data dan tingkat basis data yang ditentukan pengguna didukung. Peran tingkat basis data lainnya (selain db\_owner) tidak didukung. | 
| Kata kunci SPARSE SQL | Kata kunci SPARSE diterima dan diabaikan. | 
| Klausa kata kunci SQL `ON filegroup` | Klausa ini diabaikan untuk sekarang. | 
| Kata kunci SQL `CLUSTERED` dan `NONCLUSTERED` untuk indeks dan batasan | Babelfish menerima dan mengabaikan kata kunci `CLUSTERED` dan `NONCLUSTERED`. | 
| `sysdatabases.cmptlevel` | `sysdatabases.cmptlevel` selalu diatur ke 120. | 
| tempdb tidak diinisialisasi ulang saat restart | Objek permanen (seperti tabel dan prosedur) yang dibuat di tempdb tidak dihapus saat basis data dimulai ulang. | 
| Kumpulan file TEXTIMAGE\_ON | Babelfish mengabaikan klausa `TEXTIMAGE_ON` {{`filegroup`}}. | 
| Ketepatan waktu | Babelfish mendukung presisi 6 digit untuk detik pecahan. Tidak ada efek samping yang diantisipasi dengan perilaku ini. | 
| Tingkat isolasi transaksi | READUNCOMMITTED diperlakukan sama dengan READCOMMITTED. | 
| Kolom komputasi virtual (nonpersisten) | Kolom komputasi virtual dibuat sebagai persisten. | 
| Tanpa klausa SCHEMABINDING | Klausa ini tidak didukung dalam fungsi, prosedur, pemicu, atau tampilan. Objek dibuat, tetapi seolah-olah WITH SCHEMABINDING ditentukan. | 