如何在 SQL Server 中查看变量(列)的属性 [关闭]
Posted
技术标签:
【中文标题】如何在 SQL Server 中查看变量(列)的属性 [关闭]【英文标题】:How can I view the property of a variable (column) in SQL Server [closed] 【发布时间】:2016-03-30 01:55:25 【问题描述】:例如,如果一个列的值类似于200806
,我想知道这个变量是日期变量还是数字变量还是字符变量,我在哪里可以看到?谢谢!
【问题讨论】:
哈???你首先说你有一个列,然后说它是一个变量。无论哪种方式,您都可以查看列或变量的数据类型以了解它是什么数据类型。 如果你指的是 ta 列数据类型,试试这个...***.com/questions/13405572/… 如果您想实际操作可能的值数据类型,那么很难做到,因为“20150702”既可以作为整数也可以作为日期......当然,它也可以是字符串......要知道表中的数据类型,您可以随时使用 SELECT * FROM Information_Schema.Columns WHERE Table_Name ='your table name' 您可以使用 sql_variant_property 函数来了解 basetype、precision、scale、totalbytes、collation 和 maxlength 等属性。它适用于变量和表格列。检查我的一篇博客文章注册它 - arulmouzhi.wordpress.com/2020/03/01/… 【参考方案1】:如果您有 SSMS (SQL Server Management Studio),那么您可以展开 Database -> Tables -> Columns 并找到该列的类型。
否则,请使用sp_help
(或)sp_helptext
以及您的表名,如下所示
sp_help your_table_name
【讨论】:
【参考方案2】:试试这个@jenny
SELECT DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'yourTable' AND COLUMN_NAME = 'yourColumn'
【讨论】:
【参考方案3】:您可以通过查询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'
【讨论】:
【参考方案4】:您可以通过在 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 收集元数据信息。
【讨论】:
以上是关于如何在 SQL Server 中查看变量(列)的属性 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
在 SQL Server 中的两列之间交换数据是如何工作的?
在 SQL Server Management Studio for SQL CE 数据库中查看所有 ntext 列文本
我应该如何使用 sql server 中的存储过程将列名存储在变量中?