Sqlcmd 减去日期
Sqlcmd Subtract date
我已经为 运行 查询创建了以下批处理文件,并将结果保存在 .csv 文件中。
sqlcmd -S MyLogin -i LocationToSql -E -o "C:\Users\user\Desktop\query result\result2-%date:~-4,4%-%date:~-7,2%-%date:~-10,2%.csv" -s";" -w 700
现在,我将结果保存为:result2-2017-06-21.csv
但是,我希望它是:result2-2017-06-20.csv
但是我不知道如何减去命令的 1 天。
日期定义如下:
%date:~-4,4%-%date:~-7,2%-%date:~-10,2%
我稍微修改了我最近在这里发布的脚本:
setlocal enabledelayedexpansion
set day=%date:~-10,2%
set month=%date:~-7,2%
set year=%date:~-4,4%
echo.%day%|findstr /r /b "0">nul&&set day=%day:~1%
echo.%month%|findstr /r /b "0">nul&&set month=%month:~1%
set /a day-=1
if %day% lss 1 (
set /a day+=30
set /a month-=1
if !month!==2 (set /a day-=2
set /a leap=year%%4
if !leap!==0 set day+=1
)
for /l %%# in (1 2 7) do if %month%==%%# set /a day+=1
for %%# in (8 10 12) do if %month%==%%# set /a day+=1
if !month!==0 (
set month=12
set /a year-=1
)
)
set day=0%day%
set month=0%month%
echo %year%-%month:~-2%-%day:~-2%
这将以 YYYY-MM-DD 格式回显昨天的日期。您还可以编辑带有 set /a day-=1
的行以减去多天。
我已经为 运行 查询创建了以下批处理文件,并将结果保存在 .csv 文件中。
sqlcmd -S MyLogin -i LocationToSql -E -o "C:\Users\user\Desktop\query result\result2-%date:~-4,4%-%date:~-7,2%-%date:~-10,2%.csv" -s";" -w 700
现在,我将结果保存为:result2-2017-06-21.csv
但是,我希望它是:result2-2017-06-20.csv
但是我不知道如何减去命令的 1 天。
日期定义如下:
%date:~-4,4%-%date:~-7,2%-%date:~-10,2%
我稍微修改了我最近在这里发布的脚本:
setlocal enabledelayedexpansion
set day=%date:~-10,2%
set month=%date:~-7,2%
set year=%date:~-4,4%
echo.%day%|findstr /r /b "0">nul&&set day=%day:~1%
echo.%month%|findstr /r /b "0">nul&&set month=%month:~1%
set /a day-=1
if %day% lss 1 (
set /a day+=30
set /a month-=1
if !month!==2 (set /a day-=2
set /a leap=year%%4
if !leap!==0 set day+=1
)
for /l %%# in (1 2 7) do if %month%==%%# set /a day+=1
for %%# in (8 10 12) do if %month%==%%# set /a day+=1
if !month!==0 (
set month=12
set /a year-=1
)
)
set day=0%day%
set month=0%month%
echo %year%-%month:~-2%-%day:~-2%
这将以 YYYY-MM-DD 格式回显昨天的日期。您还可以编辑带有 set /a day-=1
的行以减去多天。