Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Върнете основния тип данни от стойност на SQL_Variant в SQL Server

В SQL Server можете да използвате SQL_VARIANT_PROPERTY() функция за връщане на информация за основния тип данни от sql_variant стойност.

Функцията приема два аргумента:sql_variant стойност и свойството, за което трябва да се предостави информация.

Пример 1 – Основна употреба

Ето пример, който демонстрира основната концепция и употреба.

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

Резултат:

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

В този случай основният тип е varchar .

Ето какво се случва, ако променя стойността на различен тип:

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

Резултат:

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

Този път основният тип е пари .

Пример 2 – Други свойства

Към момента на писането има шест възможни аргумента за тази функция. С други думи, можете да получите информация за шест различни свойства на предадената стойност.

Ето пример, който използва всичките шест:

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;

Резултат:

+------------+-------------+---------+--------------+-------------+-------------+
| 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. Как да се свържа с MS SQL Server с помощта на Inno Setup?

  2. Как да редактирате опциите на свързания сървър с помощта на T-SQL

  3. Пуснете външния ключ, без да знаете името на ограничението?

  4. Как да видите регистрационните файлове на транзакциите в SQL Server 2008

  5. Средно несъответствие на float