Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在SQL Server中查看变量(列)的属性_Sql_Sql Server_Types - Fatal编程技术网

如何在SQL Server中查看变量(列)的属性

如何在SQL Server中查看变量(列)的属性,sql,sql-server,types,Sql,Sql Server,Types,例如,如果一列的值类似于200806,我想知道这个变量是日期变量、数字变量还是字符变量,我在哪里可以看到?谢谢 如果您有SSMS(SQL Server Management Studio),则可以展开数据库->表->列并查找该列的类型 否则,请使用sp_help(或)sp_help text以及您的表名,如下所示 sp_help your_table_name 试试这个@jenny SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE

例如,如果一列的值类似于
200806
,我想知道这个变量是日期变量、数字变量还是字符变量,我在哪里可以看到?谢谢

如果您有SSMS(SQL Server Management Studio),则可以展开数据库->表->列并查找该列的类型

否则,请使用
sp_help
(或)
sp_help text
以及您的表名,如下所示

sp_help your_table_name

试试这个@jenny

SELECT DATA_TYPE 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'yourTable' AND COLUMN_NAME = 'yourColumn'

您可以通过查询
信息\u架构来提取表的列信息。列
表:

SELECT  DATA_TYPE 
FROM    INFORMATION_SCHEMA.COLUMNS
WHERE   TABLE_CATALOG = 'YourDatabase'
AND     TABLE_SCHEMA = 'YourSchema'
AND     TABLE_NAME = 'YourTable'
AND     COLUMN_NAME = 'YourColumn'

您可以通过在SQL Server中使用来操作列中的实际数据类型,以测试请求的数据类型是否允许;下面是一个示例代码。如您所见,值200806被解析为date

SELECT
        TRY_PARSE('200806' AS DECIMAL )  AS 'decimal check',
        TRY_PARSE('200806' AS INTEGER)  AS 'integer Check',
        TRY_PARSE('200806' AS DATE )  AS 'date Check'
您可能还想了解TRY_CAST或here,但它们在SQL版本和兼容性级别方面存在差异[您需要有110个兼容性才能执行该操作(即SQL Server 2012+)。 试试这个


如果您总是考虑从SQLServer收集元数据信息。 嗯???你首先说你有一个列,然后说它是一个变量。无论哪种方式,您都可以查看列或变量的数据类型以了解它是什么数据类型。。。如果您想实际操作可能的数据类型的值,那么很难操作,因为“20150702”同时限定为整数或日期当然,它也可能是字符串。。。要从表中了解数据类型,您可以始终使用SELECT*from Information\u Schema.Columns WHERE table\u Name='your table Name',您可以使用sql\u variant\u属性函数了解诸如basetype、精度、比例、totalbytes、排序规则和maxlength等属性。它适用于变量和表列。请查看我的一篇博客文章-

SELECT
    TRY_CONVERT(decimal,'200806'  )  AS 'decimal check',
    TRY_CONVERT(INT,'200806' )  AS 'integer Check',
    TRY_CONVERT(DATE,'200806' )  AS 'date Check'