SQL我可以根据另一个变量声明变量数据类型

时间:2014-09-25 19:06:58

标签: sql variables case sqldatatypes

我正在试图找出一些优雅的代码来动态声明变量类型。例如

Declare @DateType INT = 2
--When DateType = 2 Then Fiscal Week Else Specific Date
CASE WHEN @DateType = 2 THEN DECLARE @BeginDate INT ELSE DECLARE @BeginDate DATE

或类似的东西

IF @DateType <> 2
BEGIN
DECLARE @DateRangeStart  DATE
DECLARE @DateRangeEnd    DATE
END
IF @DateType = 2
BEGIN
DECLARE @DateRangeStart  INT
DECLARE @DateRangeEnd    INT
END

就像那些试图做但却有效的东西。有任何想法吗?提前致谢。

1 个答案:

答案 0 :(得分:1)

不是真正的答案,对于评论来说太多了

DECLARE @DateType int

DECLARE @DateRangeStart  sql_variant

SET @DateRangeStart=8

IF @DateType <> 2
BEGIN
select convert(int,@DateRangeStart)
END
IF @DateType = 2
BEGIN
select convert(date,@DateRangeStart)
END