解决方案 »

  1.   

    没积分发问题
    A表有MODULE_NAME(模块名称)和MODULE_ID列,其中MODULE_ID为空,MODULE_NAME列为一个这样格式可能是:”1、模块列表-产品实现-献血服务-献血核查。“,也可能是“1、产品实现。”
    B表(模块名称表)有ID和NAME(模块名称)列,NAME列的数据为标准信息,如“产品实现”。
    数据就是这样的:A表的模块名称列里的数据包含B表的NAME的数据。
    现在想通过将A表关联B表实现将B表的ID更新到A表的MODULE_ID列。
    请问如何实现,谢谢。
      

  2.   

    T.TARGET_YEAR_MONTH = DATEADD(MONTH, -1,@TARGET_YEAR_MONTH + '01')
     这里应该是有问题的.
    T.TARGET_YEAR_MONTH =CONVERT(CHAR(6),DATEADD(MONTH,1,CONVERT(DATETIME,@TARGET_YEAR_MONTH + '01')),112)
      

  3.   

    就是这里的问题,楼主测试一下就知道了。dateadd函数的返回值是datetime格式,你的T.TARGET_YEAR_MONTH应该是varcahr(6)的,也就是yyyymm这样的格式,数据库为了比较值,会尝试把yyyymm的字符串转换成datetime。这时就会报错。
     select cast('201404' as datetime)
    消息 242,级别 16,状态 3,第 2 行
    从 varchar 数据类型到 datetime 数据类型的转换产生一个超出范围的值。