base_time 在表机构中是varchar类型,想转化成格式为日期的'%Y%m'(201910)这种形式,但是下面语句转化完后,base_time字段里面全成了空值null了,我直接用DATE_FORMAT(base_time,'%Y%m')也不行SELECT
DATE_FORMAT(STR_TO_DATE(base_time,'%Y%m'),'%Y%m') WD08, store_id WD27, sum(enter_store_incom) DL02, sum(enter_store_customer) DL01, sum(enter_store_frequency) DL03
 from t_report_customer_consume GROUP BY base_time, store_id

解决方案 »

  1.   

    create table #c(sj datetime)
    insert into #c select '2019-10-22'select left(convert(nvarchar(20),sj,120),7) from #c
    select substring(convert(nvarchar(20),sj,120),1,4)+substring(convert(nvarchar(20),sj,120),6,2) 日期 from #c如果是字符串就直接截取了,不用转换了
    作为初学者,我只能想到这么做
      

  2.   

    SELECT substring(convert(varchar, getdate(), 112),1,6) as 日期
    日期
    201910
      

  3.   

    --防止存在短日期
    select substring(convert (varchar,cast('2019-9-20 10:20:11' as datetime),112),1,6) as 日期
    --正常日期
    SELECT substring(convert(varchar, getdate(), 112),1,6) as 日期