表  UP_DEF
prd_no  char(10) S_dd   为DETETIME  select   prd_no+s_dd  from up_def group  by   prd_no+s_dd    having count(prd_no+s_dd)>1执行查询语句出现这种提示
服务器: 消息 242,级别 16,状态 3,行 1
从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界。如何修改这个查询语句?

解决方案 »

  1.   

    select prd_no+rtrim(s_dd) from up_def group by prd_no+rtrim(s_dd)
     having count(prd_no+rtrim(s_dd))>1
      

  2.   

    将里面DateTime转成varchar(具体格式参考帮助)prd_no+conver(varchar(20),s_dd,120)
      

  3.   

    select prd_no,s_dd from up_def group by prd_no,s_dd having count(1)>1
    为什么要做这种+操作,没有任何理由
      

  4.   

    select prd_no+cast(s_dd as varchar(20))
    from up_def 
    group by
    prd_no+cast(s_dd as varchar(20))
    having count(prd_no+cast(s_dd as varchar(20)))>1