-2

次の SQL Server テーブルのストアド プロシージャを作成したいと考えています。

No    Date          Days       Percentage
 1    17-Aug-12      2          -0.34%
 2    3-Aug-12       15         -29.39%
 3    27-Jul-12      22          12.02%
 4    20-Jul-12      29         -0.64%
 5    13-Jul-12      36         -3.45%
 6    6-Jul-12       43         -99.93%
 7    29-Jun-12      50          41.26%

ここでは、パラメーターをパーセンテージ列または日列に動的に渡したいと考えています。

「12% - 15%」の範囲内のパーセンテージのみを選択するストアド プロシージャを作成してください。</p>

4

3 に答える 3

1

パーセンテージを単純にチェックするには...

CREATE PROCEDURE [GetPercentages]
( @Low INT, @High INT )
AS
BEGIN
    SELECT *
    FROM [MyTable]
    WHERE [Percentage] BETWEEN @Low AND @High
END

より複雑なチェック (テーブルやフィールドが動的に指定される場合) の場合は、に対して実行される TSQL 文字列の作成を検討できますsp_executesql

于 2012-08-28T08:49:01.617 に答える
0

次のようなものを試してください

IF EXISTS (SELECT name 
           FROM sys.procedures 
           WHERE name = N'myspSelectDateRange') 
DROP PROCEDURE myspSelectDateRange;
GO
CREATE PROCEDURE myspSelectDateRange @DateA DATETIME, @DateB DATETIME 
AS
SELECT [SeqNo], [MyDate], [Days], [Percentage] 
FROM MyTable 
WHERE [MyDate] 
BETWEEN @DateA AND @DateB;
GO

これが役立つことを願っています。

于 2012-08-28T08:42:26.003 に答える
0

minvalue や maxvalue などのパラメーターを 2 つの異なるパラメーターとして渡し、それらを SP で使用できます。

于 2012-08-28T08:37:39.457 に答える