例如,如果列的值类似200806
,并且我想知道此变量是日期变量还是数字变量或字符变量,我在哪里可以看到?谢谢!
答案 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"