Walaupun menggunakan kedudukan ordinal untuk pemilihan lajur biasanya tidak digalakkan, ia mungkin diperlukan untuk senario tertentu, seperti sekali proses pengimportan data. Timbul persoalan: adakah mungkin untuk memilih data lajur menggunakan kedudukan ordinal dalam SQL Server?
Untuk menghuraikan contoh yang diberikan, pertimbangkan jadual berikut:
create table Test( Col1 int, Col2 nvarchar(10) )
Daripada menggunakan:
select Col2 from Test
Bolehkah kita mencapai hasil yang sama menggunakan:
select "2" from Test -- for illustration purposes only
Jawapannya ialah: tidak.
SQL Server tidak membenarkan pemilihan lajur berdasarkan kedudukan ordinal. Sebaliknya, ia memerlukan menyatakan nama lajur secara eksplisit. Oleh itu, contoh kedua yang diberikan bukan sintaks yang sah.
Jika bilangan lajur diketahui tetapi bukan nama atau jenis datanya, penyelesaian boleh digunakan:
select NULL as C1, NULL as C2 where 1 = 0 -- Returns empty table with predefined column names union all select * from Test -- There should be exactly 2 columns, but names and data type doesn't matter
Kaedah ini mencipta jadual sementara dengan bilangan lajur yang diperlukan, membolehkan kami mengakses data menggunakan kedudukan ordinal sebagai indeks. Walau bagaimanapun, ia tidak disyorkan untuk jadual dengan bilangan lajur yang banyak.
Atas ialah kandungan terperinci Bolehkah Anda Memilih Lajur Pelayan SQL Menggunakan Kedudukan Ordinal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!