Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Dapatkan Nama Kolom dari ID-nya di SQL Server:COL_NAME()

Di SQL Server, Anda dapat menggunakan COL_NAME() berfungsi untuk mengembalikan nama kolom, berdasarkan ID-nya dan ID tabel induknya.

Ini bisa berguna saat membuat kueri tabel yang hanya menyimpan ID kolom dan ID tabel induk.

COL_NAME() fungsi memerlukan dua argumen:ID tabel, dan ID kolom.

Sintaks

Sintaksnya seperti ini:

COL_NAME ( table_id , column_id )

Contoh 1 – Penggunaan Dasar

Berikut adalah contoh dasar untuk mendemonstrasikan cara kerjanya.

SELECT COL_NAME(885578193, 1) SEBAGAI Hasil;

Hasil:

+----------+| Hasil ||----------|| ArtistId |+----------+

Dalam hal ini, saya mengembalikan nama kolom 1 dari tabel dengan ID 885578193.

Contoh 2 – Dapatkan ID Tabel

Jika Anda hanya mengetahui nama tabel, Anda dapat menggunakan OBJECT_ID() untuk mengembalikan ID-nya berdasarkan nama tabel.

Kebetulan saya tahu nama tabel di atas, jadi saya bisa mengubah contoh sebelumnya menjadi ini:

SELECT COL_NAME(OBJECT_ID('dbo.Artists'), 1) SEBAGAI Hasil;

Hasil:

+----------+| Hasil ||----------|| ArtistId |+----------+

Ini dia lagi, tetapi dengan ID tabel yang disertakan:

SELECT OBJECT_ID('dbo.Artists') SEBAGAI [ID Tabel], COL_NAME(OBJECT_ID('dbo.Artists'), 1) AS [Nama Kolom];

Hasil:

+------------+---------------+| ID Tabel | Nama Kolom ||------------+---------------|| 885578193 | ArtistId |+------------+---------------+

Contoh 3 – Kolom Lainnya

Di sini, saya menambahkan beberapa kolom lagi ke output.

SELECT COL_NAME(OBJECT_ID('dbo.Artists'), 1) AS [Kolom 1], COL_NAME(OBJECT_ID('dbo.Artists'), 2) AS [Kolom 2], COL_NAME(OBJECT_ID('dbo.Artists'), '), 3) AS [Kolom 3], COL_NAME(OBJECT_ID('dbo.Artists'), 4) AS [Kolom 4];

Hasil:

+------------+------------+------------+------- -----+| Kolom 1 | Kolom 2 | Kolom 3 | Kolom 4 ||------------+------------+------------+------- -----|| Id Artis | Nama Artis | AktifDari | CountryId |+------------+------------+------------+-------- ----+

Contoh 4 – Memeriksa Dependensi

Berikut adalah contoh di mana saya menggunakan COL_NAME() dalam kueri yang memeriksa sys.sql_expression_dependencies tampilan sistem untuk informasi ketergantungan. Tampilan ini mengembalikan ID kolom daripada namanya, jadi saya menggunakan COL_NAME() untuk mendapatkan nama mereka.

SELECT OBJECT_NAME(referencing_id) AS [Referencing Entity], referenced_minor_id, COL_NAME(referenced_id, referenced_minor_id) AS [Column]FROM sys.sql_expression_dependencies;

Hasil:

+----------------------+----------------------- +------------+| Entitas Referensi | referensi_minor_id | Kolom ||----------------------+-----------------------+ ------------|| uspGetClient | 0 | NULL || uspGetClient | 0 | NULL || uspGetOrdersByClient | 0 | NULL || uspGetOrdersByClient | 0 | NULL || uspGetOrdersByClient | 0 | NULL || uspGetAlbumsByArtist | 0 | NULL || chkClientCode | 1 | ClientCode |+------------+-----------------------+ ------------+

Contoh 5 – Dalam Klausa WHERE

Di sini, saya menggunakan COL_NAME() berfungsi dalam WHERE klausa sehingga baris dengan referenced_minor_id dari NULL tidak dikembalikan.

SELECT OBJECT_NAME(referencing_id) AS [Referencing Entity], referenced_minor_id, COL_NAME(referenced_id, referenced_minor_id) SEBAGAI [Column]FROM sys.sql_expression_dependenciesWHERE COL_NAME(referenced_id, referenced_pre NULL_id; 

Hasil:

+----------------------+----------------------- +------------+| Entitas Referensi | referensi_minor_id | Kolom ||----------------------+-----------------------+ ------------|| chkClientCode | 1 | ClientCode |+------------+-----------------------+ ------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server SEMUA Operator Dijelaskan

  2. Cara Menginstal SQL Server di Red Hat 8

  3. 4 Kegiatan Pemantauan Basis Data Utama Yang Harus Diketahui Setiap DBA

  4. SQL Server:Jadikan semua UPPER case menjadi Proper Case/Title Case

  5. Daftar Semua Database dari Server Tertaut di SQL Server (Contoh T-SQL)