Я хочу добиться такой функциональности, как это сделать.
DECLARE @filterByDate VARCHAR(20) IF(@filterByDate = 'expectedDate') SET @filterByDate = 'ExpectedStartDate' ELSE SET @filterByDate = 'ActualStartDate' SELECT @filterByDate AS Date FROM TableName
Спасибо.
Стандарт SQL, работает на большинстве СУБД
SELECT CASE @filterByDate WHEN 'ExpectedStartDate' THEN ExpectedStartDate WHEN 'ActualStartDate' THEN ActualStartDate ELSE NULL END as mydate --optional , @filterByDate AS ColumnName FROM MyTable
DECLARE @filterByDate VARCHAR(20) IF(@filterByDate = 'expectedDate') SET @filterByDate = 'ExpectedStartDate' ELSE SET @filterByDate = 'ActualStartDate' Declare @Sql varchar(max) SET @SQL = 'SELECT @Filter AS DATE FROM TableName' DECLARE @ParmDefinition nVARCHAR(20) SET @ParmDefinition = N'@filter nvarchar(20)' exec sp_executesql @SQL, @ParmDefinition, @Filter = @filterByDate