如何将两个简单的表达式放在一起?

时间:2014-05-06 19:08:10

标签: sql-server ssis expression

我正在为自己制作一个简单的SSIS包;我是所有这一切的新手。

我有一个平面文件,其中包含针对性别的MALE或FEMALE值。

我希望在加载SQL Server时,在SQL Server的Gender列中只有M或F.我有以下表达式:

REPLACE([性别],"女性"," F") 更换([性别],"男性"," M")

我不确定如何将他们聚在一起。

任何帮助/提示都将受到高度赞赏。

谢谢!

3 个答案:

答案 0 :(得分:1)

链接他们:

REPLACE (REPLACE ( [Gender], "Female", "F" ), "Male", "M") 

将其分解,内部REPLACE将所有“女性”实例替换为“F”,但不对任何其他值执行任何操作。然后将该函数调用的输出(应该是“F”或“男性”)传递给外部REPLACE,它将“男性”转换为“男性”。所以,你应该酌情得到“M”或“F”。

答案 1 :(得分:0)

尝试使用CASE:

CASE
   WHEN [Gender] = 'Female' THEN 'F'
   WHEN [Gender] = 'Male'   THEN 'M'
   ELSE NULL
END

答案 2 :(得分:0)

使用派生列 - 如果该列的允许值仅为男性和女性,则此表达式就足够了 - ([性别] ==“男性”?“M”:“F”) 如果该列包含除男性/女性以外的值,您可能想要做一些额外的操作,这里我只是传递[Gender]值,如果它不属于男性/女性 - ([Gender] ==“Male” ?“M”:( [性别] ==“女性”?“F”:[性别]))