我们如何在Oracle db中以逗号分隔值的列中检查字符串是否存在

时间:2017-08-02 08:36:51

标签: sql oracle comma

我遇到了这个问题,我无法找到解决方法。 我有两列cus_categorycus_flag。列cus_category的值为cus_category

existing,cleared
existing
cleared
expansion,exisitng,cleared
expansion,cleared
former 
former,cleared  
former,cleared,expansion
former,existing,cleared

等等。我想将cus_flag设置为1,其中cus_category的值是扩展并且即使它像expansion,exisitng,cleared一样存在,并且为清除和前一个设置值0。如何实现这一点可以任何人帮助我。

2 个答案:

答案 0 :(得分:0)

如果类别既有扩展又有现有,

Update [YourTable]
Set cus_flag= Case when (cus_category like '%expansion%' and cus_category like '%existing%') 
then 1 else 0 end

如果类别应该有扩展或现有

 Update  [YourTable]
Set cus_flag= Case when (cus_category like '%expansion%' or cus_category like '%existing%') 
then 1 else 0 end

答案 1 :(得分:0)

有2个不同的更新

  val toInt = (x: String) => x.toInt

  val mapCastMethods = Map("Integer" -> toInt)


  val res = mapCastMethods("Integer")("345") // [EDIT] Same as val res= mapCastMethods.get("Integer").get(("345"))

  println(res) // 345