• SQLServer 将日期改造成标准日期格式(如: 2016/6 ->201606)


    同事给了份Excel 数据,导到数据库之后再查出来时发现顺序不好弄。于是想从数据源中做处理。

    由于数据存在,年/月 与 年/月/日 的格式不好用datetime保存,于是用varchar保存。

    数据处理主要有两点,1,拆分,2,补全

    下面是拆分代码

    create  function  [dbo].[SplitIn](@c   varchar(max),@split   varchar(2))   
    returns   @t   table(col   varchar(400))
    as   
    begin    
      while(charindex(@split,@c)<>0)   
        begin   
          insert   @t(col)   values   (substring(@c,1,charindex(@split,@c)-1))   
          set   @c   =   stuff(@c,1,charindex(@split,@c),'')   
        end   
      insert   @t(col)   values   (@c)   
      return   
    end  
    

    补全我是用了  REPLICATE 函数

    DECLARE @Result nvarchar(max)
    	set @Result=''
    	select  @Result=@Result+isnull(REPLICATE('0',2-len(col)),'')+cast(col as varchar) from SplitIn('2015/1','/')
    	
    	select @Result
    	
    

      

      结果如下:

    自己把第二段sql封成函数,就可以在sql语句中调用了..

  • 相关阅读:
    WebApi下载附件文件
    zabbix
    redis主从与集群搭建
    redis
    mariadb集群配置(主从和多主)
    使用python执行sql语句和外键解析
    mariadb(四)连接查询,视图,事物,索引,外键
    mariadb(三)查
    mariadb(二)增删改
    firewalld
  • 原文地址:https://www.cnblogs.com/jackicalSong/p/5549898.html
Copyright © 2020-2023  润新知