GUI seperti SSMS atau Azure Data Studio memudahkan untuk melihat tipe data kolom. Biasanya ini masalah navigasi sederhana ke kolom di penjelajah objek dan Anda dapat melihat tipe data tepat di sebelah kolom.
Tetapi jika Anda menggunakan T-SQL, Anda harus menjalankan kueri.
information_schema.columns
Lihat
information_schema.columns
view adalah pilihan yang baik jika Anda hanya menginginkan tipe data dan tidak lebih:
SELECT
COLUMN_NAME,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH AS MAX_LENGTH,
CHARACTER_OCTET_LENGTH AS OCTET_LENGTH
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Products'
AND COLUMN_NAME = 'ProductName';
Contoh hasil:
+---------------+-------------+--------------+----------------+ | COLUMN_NAME | DATA_TYPE | MAX_LENGTH | OCTET_LENGTH | |---------------+-------------+--------------+----------------| | ProductName | varchar | 255 | 255 | +---------------+-------------+--------------+----------------+
Ganti Products
dan ProductName
dengan nama tabel dan kolom Anda masing-masing.
Oke, saya mengembalikan sedikit lebih dari sekadar tipe data di sini. Tetapi Anda dapat menghilangkan kolom lain jika diperlukan. Atau Anda dapat menambahkan lebih banyak. Misalnya, ada kolom yang berisi presisi kolom jika Anda melihat kolom numerik atau waktu.
Anda dapat mengembalikan semua kolom seperti ini:
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Products'
AND COLUMN_NAME = 'ProductName';
sys.columns
Lihat
sys.columns
tampilan adalah pilihan lain. Kita dapat menggabungkan ini dengan sys.tables
tampilan untuk mendapatkan kolom tertentu dari tabel tertentu:
SELECT
c.name,
type_name(c.system_type_id) AS system_type,
type_name(c.user_type_id) AS user_type,
c.max_length,
c.precision,
c.scale
FROM sys.tables t
JOIN sys.columns c ON t.object_id = c.object_id
WHERE t.name = 'Products'
AND c.name = 'ProductName';
Contoh hasil:
+-------------+---------------+-------------+--------------+-------------+---------+ | name | system_type | user_type | max_length | precision | scale | |-------------+---------------+-------------+--------------+-------------+---------| | ProductName | varchar | varchar | 255 | 0 | 0 | +-------------+---------------+-------------+--------------+-------------+---------+
Sekali lagi, sertakan lebih banyak atau lebih sedikit kolom sesuai kebutuhan.
Dalam contoh ini, saya menggunakan TYPE_NAME()
berfungsi untuk mengembalikan nama tipe data, berdasarkan ID-nya. Ini menyelamatkan saya dari keharusan bergabung di sys.types
tabel.
sp_help
Prosedur Tersimpan
sp_help
prosedur tersimpan dapat berguna jika Anda ingin mengembalikan informasi lebih lanjut tentang tabel.
Prosedur tersimpan ini mengembalikan informasi tentang objek database (objek apa pun yang terdaftar di sys.sysobjects
tampilan kompatibilitas), tipe data yang ditentukan pengguna, atau tipe data:
EXEC sp_help Products;
Ini mengembalikan banyak keluaran, jadi saya tidak akan mencantumkan semuanya di sini.
Cukup ganti Products
dengan nama tabel atau objek lain yang ingin Anda dapatkan informasinya.
Dapatkan Tipe Data Kolom dari Kueri
Anda juga bisa mendapatkan tipe data kolom yang dikembalikan oleh kueri.
Lihat Menemukan Tipe Data Kolom yang Dikembalikan dalam Kumpulan Hasil di SQL Server untuk informasi dan contoh selengkapnya.