Rumah >pangkalan data >tutorial mysql >Bolehkah SQL Server Mendapatkan Data Lajur Menggunakan Kedudukan Ordinal?
Memilih data lajur berdasarkan kedudukan ordinal secara amnya tidak digalakkan, tetapi senario tertentu mungkin memerlukan penggunaannya. Soalan ini meneroka kemungkinan pemilihan sedemikian dalam SQL Server.
Soalan:
Bolehkah kita mendapatkan semula data lajur menggunakan kedudukan ordinal lajur jadual? Sebagai contoh, pertimbangkan jadual berikut:
create table Test( Col1 int, Col2 nvarchar(10) )
Daripada memilih menggunakan nama lajur:
select Col2 from Test
Bolehkah kita menulis:
select "2" from Test -- for illustration purposes only
Jawapan:
Walaupun SQL Server tidak menyokong pemilihan lajur mengikut kedudukan ordinal, penyelesaian boleh dicapai dengan mengeksploitasi operasi produk Cartesian:
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
Ini menghasilkan jadual dengan dua lajur ([C1] dan [C2]) yang sepadan dengan bilangan lajur dalam jadual Ujian. Dengan memilih lajur kedua produk Cartesian ini, kami mengambil semula data secara berkesan daripada lajur kedua jadual Ujian.
Perhatikan bahawa kaedah ini hanya praktikal untuk jadual dengan bilangan lajur yang telah ditetapkan. Menggunakannya untuk jadual dengan bilangan lajur yang banyak boleh menjadi tidak cekap dan terdedah kepada ralat.
Atas ialah kandungan terperinci Bolehkah SQL Server Mendapatkan Data Lajur Menggunakan Kedudukan Ordinal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!