zoukankan      html  css  js  c++  java
  • sql中格式化字符串或时间,遇到多少,写多少,持续记录。

    --求开始时间和结束时间相差的天数
    
    DECLARE @result int
    
    DECLARE @StartDayStartTime DATETIME
    
    DECLARE @EndDayEndTime  DATETIME
    
    set @result=DATEDIFF (d,CONVERT(Datetime,@StartDay),CONVERT(Datetime,@EndDay))
    
    
    --将2012-07-12 15:56:53 格式化为20120712 ,这种需求大多是因为每日数据量更新过大,所以为每天创建一张表,在实现跨多天查询的时候,你懂得。
    
    
    
    --执行sql,并返回,最后求和,@sql务必要声明为nvarchar类型
    
    declare @sql nvarchar(500)
    declare @sm decimal(18,2) --开始里程
    declare @em decimal(18,2)--结束里程
    declare @sum decimal(18,2)--当天时间段内的里程
    declare @temp decimal(18,2)--里程变量
    
    set @sql='SELECT  top 1 @temp=Convert(decimal(18,2),'+@GpsPath+'.Mileage) FROM '+@GpsPath+' WHERE GpsTime<='''+CONVERT(varchar(100),@E, 21)+''' AND TerminalNo=''02200051'' and '+@GpsPath+'.Mileage>0 ORDER BY GpsTime desc'
    exec sp_executesql @sql,N'@temp decimal(18,2) output',@em out print @em
    set @sql='SELECT  top 1 @temp=Convert(decimal(18,2),'+@GpsPath+'.Mileage) FROM '+@GpsPath+' WHERE GpsTime>='''+CONVERT(varchar(100),@S, 21)+''' AND TerminalNo=''02200051'' and '+@GpsPath+'.Mileage>0 ORDER BY GpsTime asc'
    exec sp_executesql @sql,N'@temp decimal(18,2) output',@sm out print @sm
    set @sum=Convert(decimal(18,2),@em)-Convert(decimal(18,2),@sm)
    
     
    
     
    
     
    
     
  • 相关阅读:
    mysql实战45讲
    goland破解
    主从复制系列C
    主从复制系列B
    主从复制系列A
    sshd配置文件详解
    MySQL源码 数据结构array
    MySQL源码 information_schema新增表
    MySQL5.6 基于db的并行复制
    mysql 限制并发select patch
  • 原文地址:https://www.cnblogs.com/Archosaur/p/SqlFormat.html
Copyright © 2011-2022 走看看