代码之家  ›  专栏  ›  技术社区  ›  sergiom

SSIS中使用什么变量类型表示货币

  •  2
  • sergiom  · 技术社区  · 15 年前

    我需要使用“执行SQL任务”组件在SSIS中的变量中加载货币值。 我将SELECT的返回列映射到变量。

    Error: 0xC002F309 at Load Dummy vars, Execute SQL Task: An error occurred while assigning a value to variable "UnknownMoney": "The type of the value being assigned to variable "User::UnknownMoney" differs from the current variable type. Variables may not change type during execution. Variable types are strict, except for variables of type Object.".
    

    SSIS中的Money列类型是DT_CY(Currency),但此类型不可用于变量。

    编辑:VS2012中的变量类型下拉列表框:

    variable type listbox 2 variable type listbox 1

    3 回复  |  直到 10 年前
        1
  •  1
  •   danfolkes    10 年前

    这就是我要做的:

    1. 将其设置为Decimal类型的未知值
    2. 使用未知的MONEY变量。
    3. 如果您需要再次将变量用作货币,请将其转换回货币:CAST(@UnknownMoney as money)
        2
  •  3
  •   danfolkes    11 年前

    SSIS具有货币数据类型。

    SQL有一个money类型。

        3
  •  -1
  •   Masud Ahmed    9 年前

    (只是对唐福尔克斯的回答稍加修改)

    在SSIS中执行SQL任务: select ?=convert(decimal(13,2), MoneyCol)

    为了将它发送回SQL,请使用SQL convert函数再次转换它。