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

Zwróć podstawowy typ danych z wartości wariantu SQL_w SQL Server

W SQL Server możesz użyć SQL_VARIANT_PROPERTY() funkcja zwracająca podstawowe informacje o typie danych z sql_variant wartość.

Funkcja przyjmuje dwa argumenty:wariant_sql wartość i właściwość, dla której należy podać informacje.

Przykład 1 – Podstawowe użycie

Oto przykład, który demonstruje podstawową koncepcję i zastosowanie.

DECLARE @var sql_variant = 'Hey!';
SELECT SQL_VARIANT_PROPERTY(@var, 'BaseType') AS BaseType;

Wynik:

+------------+
| BaseType   |
|------------|
| varchar    |
+------------+

W tym przypadku typem podstawowym jest varchar .

Oto, co się stanie, jeśli zmienię wartość na inny typ:

DECLARE @var sql_variant = $1.50;
SELECT SQL_VARIANT_PROPERTY(@var, 'BaseType') AS BaseType;

Wynik:

+------------+
| BaseType   |
|------------|
| money      |
+------------+

Tym razem typ podstawowy to pieniądze .

Przykład 2 – Inne właściwości

W chwili pisania tego tekstu istnieje sześć możliwych argumentów dla tej funkcji. Innymi słowy, możesz uzyskać informacje o sześciu różnych właściwościach przekazywanej wartości.

Oto przykład, który wykorzystuje wszystkie sześć:

DECLARE @var sql_variant = SYSDATETIME();
SELECT 
  SQL_VARIANT_PROPERTY(@var, 'BaseType') AS BaseType,
  SQL_VARIANT_PROPERTY(@var, 'Precision') AS Precision,
  SQL_VARIANT_PROPERTY(@var, 'Scale') AS Scale,
  SQL_VARIANT_PROPERTY(@var, 'TotalBytes') AS TotalBytes,
  SQL_VARIANT_PROPERTY(@var, 'Collation') AS Collation,
  SQL_VARIANT_PROPERTY(@var, 'MaxLength') AS MaxLength;

Wynik:

+------------+-------------+---------+--------------+-------------+-------------+
| BaseType   | Precision   | Scale   | TotalBytes   | Collation   | MaxLength   |
|------------+-------------+---------+--------------+-------------+-------------|
| datetime2  | 27          | 7       | 11           | NULL        | 8           |
+------------+-------------+---------+--------------+-------------+-------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak włączyć SQL Server Agent XP za pomocą T-SQL?

  2. Procedury składowane SQL OUTPUT nie działają z ExecuteReader

  3. Jak używać usuwania kaskadowego w programie SQL Server?

  4. Unikalny identyfikator (guid) jako klucz podstawowy w projekcie bazy danych

  5. Przykład z życia, kiedy używać OUTER / CROSS APPLY w SQL