SQL Server 检查结果数据类型的表达式 [英] SQL Server check resultant data type of expression
本文介绍了SQL Server 检查结果数据类型的表达式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
通常我会将数据类型放入临时表并检查表列类型,例如
Normally I would put the data type into a temp table and inspect the table column type, e.g.
select 1.0 N into tbl
sp_help tbl
然后第 N 列显示表达式 1.0
的数据类型.(这只是一个简单的例子)
Column N then reveals the data type of the expression 1.0
. (This is a only simple example)
有一个 SQL 函数可以直接检查表达式的数据类型,但现在我不知道该名称.
There is a SQL function to inspect the data type of an expression directly, but the name escapes me right now.
这个函数的名字是什么?
What is the name of this function?
推荐答案
DECLARE @what sql_variant;
DECLARE @foo decimal(19,3) = 1, @bar decimal(11,7) = 2;
SELECT @what = @foo / @bar;
SELECT
SQL_VARIANT_PROPERTY(@what, 'BaseType'),
SQL_VARIANT_PROPERTY(@what, 'Precision'),
SQL_VARIANT_PROPERTY(@what, 'Scale'),
SQL_VARIANT_PROPERTY(@what, 'MaxLength');
SELECT @what = @foo + @bar;
SELECT
SQL_VARIANT_PROPERTY(@what, 'BaseType'),
SQL_VARIANT_PROPERTY(@what, 'Precision'),
SQL_VARIANT_PROPERTY(@what, 'Scale'),
SQL_VARIANT_PROPERTY(@what, 'MaxLength');
SELECT @what = @foo * @bar;
SELECT
SQL_VARIANT_PROPERTY(@what, 'BaseType'),
SQL_VARIANT_PROPERTY(@what, 'Precision'),
SQL_VARIANT_PROPERTY(@what, 'Scale'),
SQL_VARIANT_PROPERTY(@what, 'MaxLength');
或临时表/SELECT..INTO.. 作为您已经完成的工作的扩展
Or temp table/SELECT..INTO.. as an extension of what you've already done
这篇关于SQL Server 检查结果数据类型的表达式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文