Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Uzyskaj nazwę kolumny z jej identyfikatora w SQL Server:COL_NAME()

W SQL Server możesz użyć COL_NAME() funkcja zwracająca nazwę kolumny na podstawie jej identyfikatora i identyfikatora tabeli nadrzędnej.

Może to być przydatne podczas wysyłania zapytań do tabeli, która przechowuje tylko identyfikator kolumny i identyfikator tabeli nadrzędnej.

COL_NAME() funkcja wymaga dwóch argumentów:identyfikatora tabeli i identyfikatora kolumny.

Składnia

Składnia wygląda tak:

COL_NAME ( identyfikator_tabeli , identyfikator_kolumny )

Przykład 1 – Podstawowe użycie

Oto podstawowy przykład pokazujący, jak to działa.

WYBIERZ COL_NAME(885578193, 1) jako wynik;

Wynik:

+----------+| Wynik ||----------|| Identyfikator wykonawcy |+----------+

W tym przypadku zwróciłem nazwę kolumny 1 z tabeli z identyfikatorem 885578193.

Przykład 2 – Uzyskaj identyfikator tabeli

Jeśli znasz tylko nazwę tabeli, możesz użyć OBJECT_ID() aby zwrócić swój identyfikator na podstawie nazwy tabeli.

Tak się składa, że ​​znam nazwę powyższej tabeli, więc mogę zmienić poprzedni przykład na ten:

SELECT COL_NAME(OBJECT_ID('dbo.Artists'), 1) jako wynik;

Wynik:

+----------+| Wynik ||----------|| Identyfikator wykonawcy |+----------+

I znowu, ale z dołączonym identyfikatorem tabeli:

SELECT OBJECT_ID('dbo.Artyści') AS [Identyfikator tabeli], COL_NAME(OBJECT_ID('dbo.Artyści'), 1) AS [Nazwa kolumny];

Wynik:

+---------------+---------------+| Identyfikator tabeli | Nazwa kolumny ||------------+---------------|| 885578193 | Identyfikator artysty |+---------------+---------------+

Przykład 3 – Więcej kolumn

Tutaj dodaję jeszcze kilka kolumn do wyniku.

SELECT COL_NAME(OBJECT_ID('dbo.Artyści'), 1) AS [Kolumna 1], COL_NAME(OBJECT_ID('dbo.Artists'), 2) AS [Kolumna 2], COL_NAME(OBIEKT_ID('dbo.Artyści) '), 3) AS [Kolumna 3], COL_NAME(OBJECT_ID('dbo.Artists'), 4) AS [Kolumna 4];

Wynik:

+----------------+------------+------------+------- -----+| Kolumna 1 | Kolumna 2 | Kolumna 3 | Kolumna 4 ||-------------+------------+------------+----------- -----|| Identyfikator artysty | Nazwa wykonawcy | AktywnyOd | Identyfikator Kraju |+---------------+------------+------------+--------- ----+

Przykład 4 – Sprawdzanie zależności

Oto przykład, w którym używam COL_NAME() w zapytaniu, które sprawdza sys.sql_expression_dependencies widok systemowy dla informacji o zależnościach. Ten widok zwraca identyfikatory kolumn, a nie ich nazwy, więc używam COL_NAME() aby uzyskać ich imiona.

 SELECT OBJECT_NAME(referencing_id) AS [jednostka odniesienia], referenced_minor_id, COL_NAME (referencyjna_id, referenced_minor_id) AS [kolumna]FROM sys.sql_expression_dependencies;

Wynik:

+----------------------+----------------------- +----------------+| Jednostka odniesienia | referenced_minor_id | Kolumna ||----------------------+------------------------+ ------------|| uspGetClient | 0 | NULL || uspGetClient | 0 | NULL || uspGetOrdersByClient | 0 | NULL || uspGetOrdersByClient | 0 | NULL || uspGetOrdersByClient | 0 | NULL || uspPobierzAlbumyAutorstwa | 0 | NULL || chkKodKlienta | 1 | Kod Klienta |+----------------------+----------------------------+ ------------+

Przykład 5 – W klauzuli WHERE

Tutaj używam COL_NAME() funkcja w WHERE klauzula, aby wiersze z referenced_minor_id z NULL nie są zwracane.

 SELECT OBJECT_NAME(referencing_id) AS [jednostka odniesienia], referenced_minor_id, COL_NAME (referencyjna_id, referenced_minor_id) AS [kolumna]FROM sys.sql_expression_dependenciesWHERE COL_NAME(referencyjna_id, referenced_minor_id) NIE JEST NULL> 

Wynik:

+----------------------+----------------------- +----------------+| Jednostka odniesienia | referenced_minor_id | Kolumna ||----------------------+------------------------+ ------------|| chkKodKlienta | 1 | Kod Klienta |+----------------------+----------------------------+ ------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Podłączanie SQL Server do PostgreSQL

  2. Utwórz kolumnę obliczaną, która używa danych z innej tabeli w SQL Server

  3. 4 sposoby, aby dowiedzieć się, jakie kolumny zostaną zwrócone przez procedurę składowaną w SQL Server

  4. Dodaj wiersz podsumowania z sumami

  5. Wprowadzenie do zabezpieczeń na poziomie wiersza w SQL Server