1

我是勺子工具的新手,我正在提取一个表值以加载另一个具有相同属性的表。在第一个表中,有一列包含nchar值,如“y”和“no”,代表(是和否)。

我的问题是第二个表有一个列将这些值保存为像 'y' -> 1 和 'n' -> '0' 这样的tinyint

表格1

  • 是的
  • 是的
  • n
  • n
  • 是的

表2

  • 1
  • 1
  • 0
  • 0
  • 1

那么有没有一种简单的方法来替换这些值并通过映射它们来改变它们的类型。我可以在我的 sql 语句中完成这项工作,如下所示

SELECT CASE <variable> 
           WHEN <value>      THEN <returnvalue> 
           WHEN <othervalue> THEN <returnthis> 
           ELSE <returndefaultcase> 
       END 
  FROM <table> 

如果只有 'y' 和 'n' 值,这个解决方案还可以,但是因为在很多表中有很多值,比如 ('a'->2, 'b'->3, 'c'->4 ) 现在对我来说有点头疼。如果有人告诉我一个实用的方法,我将不胜感激。

4

1 回答 1

2

将值映射器步骤用于如此简单的事情,或者像您一样使用 case 语句。我不会将该映射存储在数据库中,因为它非常简单。

在 valuemapper 中添加一个目标字段,因为数据类型不对齐。然后,如果您想重命名或替换旧列,请使用选择值步骤

在此处输入图像描述

于 2014-11-13T18:36:20.177 回答