Jawaban:
Bungkus nama kolom dalam tanda kurung seperti itu, frommenjadi [dari].
select [from] from table;
Dimungkinkan juga untuk menggunakan yang berikut (berguna ketika menanyakan beberapa tabel):
select table.[from] from table;
select TableName.from from TableName; PS: Ini berfungsi di MySQL
Jika sudah ada di PostgreSQL, gunakan tanda kutip ganda di sekitar nama, seperti:
select "from" from "table";
Catatan: Secara internal PostgreSQL secara otomatis mengubah semua perintah dan parameter yang tidak dikutip menjadi huruf kecil. Itu memiliki efek bahwa perintah dan pengidentifikasi tidak peka huruf besar-kecil. sEleCt * dari tAblE; ditafsirkan sebagai pilih * dari tabel; . Namun, parameter di dalam tanda kutip ganda digunakan apa adanya, dan oleh karena itu ADALAH case case: select * from "table"; dan pilih * dari "Table"; mendapat hasil dari dua tabel berbeda.
Ini adalah dua cara untuk melakukannya:
PILIH `from` FROM TableName
SELECT TableName.from FROM TableName
Pertanyaan Anda tampaknya dijawab dengan baik di sini, tetapi saya hanya ingin menambahkan satu lagi komentar untuk topik ini.
Mereka yang mendesain database harus benar-benar menyadari kata kunci yang dipesan dan menghindari menggunakannya. Jika Anda menemukan seseorang menggunakannya, beri tahu mereka tentang hal itu (dengan cara yang sopan). Kata kunci di sini adalah kata yang dipesan .
Informasi lebih lanjut:
"Kata kunci yang dicadangkan tidak boleh digunakan sebagai nama objek. Basis data yang ditingkatkan dari versi SQL Server sebelumnya dapat berisi pengidentifikasi yang menyertakan kata-kata yang tidak dicadangkan di versi sebelumnya, tetapi kata-kata yang dicadangkan untuk versi SQL Server saat ini. Anda dapat merujuk ke objek dengan menggunakan pengidentifikasi terbatas sampai nama dapat diubah. " http://msdn.microsoft.com/en-us/library/ms176027.aspx
dan
"Jika database Anda mengandung nama yang cocok dengan kata kunci yang dipesan, Anda harus menggunakan pengidentifikasi terbatas ketika Anda merujuk ke objek-objek itu. Untuk informasi lebih lanjut, lihat Pengidentifikasi (DMX)." http://msdn.microsoft.com/en-us/library/ms132178.aspx
Jika Anda menggunakan SQL Server, Anda cukup membungkus tanda kurung di sekitar kolom atau nama tabel.
select [select]
from [table]
Saya juga menghadapi masalah ini. Dan solusi untuk ini adalah dengan menaruh [Column_Name] seperti ini dalam permintaan.
string query= "Select [Name],[Email] from Person";
Jadi itu akan bekerja dengan sangat baik.
Hai Saya bekerja pada sistem Teradata yang sepenuhnya sesuai dengan ANSI. Gunakan tanda kutip ganda "" untuk memberi nama kolom tersebut.
Misalnya type, kata kunci yang dipesan SQL, dan ketika digunakan dalam tanda kutip, typediperlakukan sebagai nama yang ditentukan pengguna.
Lihat contoh kode di bawah ini:
CREATE TABLE alpha1
AS
(
SEL
product1
type_of_product AS "type"
FROM beta1
) WITH DATA
PRIMARY INDEX (product1)
--type is a SQL reserved keyword
TYPE
--see? now to retrieve the column you would use:
SEL "type" FROM alpha1
Anda dapat memasukkan nama kolom Anda di braket seperti:
Select [from] from < ur_tablename>
Atau
Taruh di tabel sementara lalu gunakan sesuka Anda.
Contoh:
Declare @temp_table table(temp_from varchar(max))
Insert into @temp_table
Select * from your_tablename
Di sini saya hanya berasumsi bahwa your_tablename hanya berisi satu kolom (yaitu dari).
[from]adalah satu-satunya kolom yang your_tablenamepunya.
"[Total]"? Atau mungkin ada cara untuk menghindarinya, seperti [\[Total\]]?
Saya mengalami masalah yang sama ketika mencoba memperbarui kolom yang namanya kata kunci . Solusi di atas tidak membantu saya. Saya memecahkannya hanya dengan menentukan nama tabel seperti ini:
UPDATE `survey`
SET survey.values='yes,no'
WHERE (question='Did you agree?')
Berikut ini akan bekerja dengan sempurna:
SELECT DISTINCT table.from AS a FROM table
Menilai dari jawaban di sini dan pengalaman saya sendiri. Satu-satunya jawaban yang dapat diterima, jika Anda berencana untuk portabel adalah tidak menggunakan kata kunci SQL untuk tabel, kolom, atau nama lainnya.
Semua jawaban ini bekerja di berbagai basis data tetapi tampaknya banyak yang tidak mendukung solusi ANSI.
SELECT "from" FROM TableName, bagus dan portabel!