3

私が取り組んでいるアプリケーションで、SQL Server の DateTime フィールドを DateTimeOffset に移行する時が来ました。

SQL Server にこれに役立つ自動化ツールがあるかどうか疑問に思っていたので、alter table ステートメントの束をスクリプト化する必要はありませんか?

4

2 に答える 2

2

同様の問題がありました。

列を更新するために私がしたことは次のとおりです。オンラインで見つけた例に従って、DateTime 列を DateTimeOffset に変換しました。

たとえば、NorthWind データベースの場合、次のことができます。最初に実行して変換関数を作成します

CREATE FUNCTION fn_DSTOffset( @date1 DATETIMEOFFSET )
RETURNS INT
AS
BEGIN
RETURN
CASE WHEN ( ( @date1 > '2009-3-29 2:00' AND @date1 <= '2009-10-25 2:00' )
    OR ( @date1 > '2010-3-28 2:00' AND @date1 <= '2010-10-31 2:00' )
    OR ( @date1 > '2011-3-27 2:00' AND @date1 <= '2011-10-30 2:00' ) )
    THEN 60 -- offset in minutes
    ELSE 0
    END
END
GO

この関数を使用して列を変更しようとします。以下の例は、Bi に対してそれを行う方法を示しています。

于 2014-10-24T16:00:11.420 に答える