2016-11-04 9 views
1

私はSSISを使用しています。今日の日付が月の開始日である場合、変数の値を変更するスクリプトタスクがあります。SSISスクリプトタスクで月の初めの日付を取得する方法は?

ブール変数startDateの値を、タスクが実行される月の初めの場合はTRUEに変更し、そうでない場合はFALSEに変更します。

基本的に私は、このSQL文のSSISスクリプトのバージョンが欠落している:ここで

SELECT DATEADD(month, DATEDIFF(month, 0, @mydate), 0) AS StartOfMonth 

は、これまでのところ、私のスクリプトです:

 public void Main() 
    { 
     if (DateTime.Today = ? ) 
     { 
      Dts.Variables["User::startDate"].Value = True; 
     } 
      Dts.Variables["User::startDate"].Value = False; 

     Dts.TaskResult = (int)ScriptResults.Success; 
    } 
} 

はANSWER:

public void Main() 
{ 

DateTime value = new DateTime(DateTime.Today.Year,DateTime.Today.Month,1); 

if (DateTime.Today == value) 
{ 
    Dts.Variables["User::startDate"].Value = bool.Parse("True"); 
} 
    Dts.Variables["User::startDate"].Value = bool.Parse("False"); 

Dts.TaskResult = (int)ScriptResults.Success; 
} 
} 

答えて

1

ちょうど使用:

public void Main() 
{ 

    DateTime value = new DateTime(DateTime.Today.Year,DateTime.Today.Month,1); 

    if (DateTime.Today == value) 
    { 
     Dts.Variables["User::startDate"].Value = bool.Parse("True"); 
    } 
     Dts.Variables["User::startDate"].Value = bool.Parse("False"); 

    Dts.TaskResult = (int)ScriptResults.Success; 
} 
} 
+0

ありがとうございます。私は、変数のデータ型がブール値であるが、文字列で渡される値にエラーが発生しています。引用符を削除してもこの問題は解決されませんでした。 –

+0

ビット0または1として渡すようにしてください – Hadi

+0

変数名は大文字と小文字が区別されることを覚えておいてください – Hadi

関連する問題