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

时间:2015-12-23 15:31:58

标签: sql sql-server types

例如,如果列的值类似200806,并且我想知道此变量是日期变量还是数字变量或字符变量,我在哪里可以看到?谢谢!

4 个答案:

答案 0 :(得分:1)

您可以通过查询INFORMATION_SCHEMA.COLUMNS表格来提取表格的列信息:

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

答案 1 :(得分:1)

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

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或TRY_CONVERT,但它们在SQL版本和兼容性级别方面存在差异[您需要具有110兼容性才能执行它(即SQL Server 2012+)]。 试试这个

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

如果您始终考虑INFORMATION_SCHEMA从SQL Server收集元数据信息。

答案 2 :(得分:0)

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

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

sp_help your_table_name

答案 3 :(得分:0)

试试这个 @jenny

exclude_matches:"*://*googleads.g.doubleclick.net"