从字符串转换日期 and/or 时间时,SQLCMD 给出转换失败
SQLCMD gives conversion failed when converting date and/or time from character string
这个问题的重要部分是 Sqlcmd 的使用。简而言之,我试图弄清楚如何在我的脚本中使用 date/time,文档对此进行了阐述。
我尝试了几种日期格式、转换和转换等
有人有想法吗?
-- I don't know how else to format this but as a string
:SETVAR CURRENT_DATE "2016-09-15T17:30:00"
PRINT CONVERT(DATETIME2,'${CURRENT_DATE}',106)
报错:
Conversion failed when converting date and/or time from character string.
编辑:
我认为这与 sqlcmd 有关,与格式无关。
这个有效:
PRINT CONVERT(DATETIME2,'2016-09-15T17:30:00', 106)
这有效:
PRINT CONVERT(DATETIME2,'2016-09-15T17:30:00', 126)
但是使用 Setvar 它没有工作
:SETVAR CURRENT_DATE "2016-09-15T17:30:00"
PRINT CONVERT(DATETIME2,'${CURRENT_DATE}',126)
我也不在乎datetme是什么格式,所以我可以根据需要更改它。
您在 convert
函数中使用了错误的 style
参数。
对于 ISO8601,您应该使用 126,而不是像现在这样使用 106。
这应该有效:
:SETVAR CURRENT_DATE "2016-09-15T17:30:00"
PRINT CONVERT(DATETIME2,'${CURRENT_DATE}',126)
嗯,我是个傻瓜。括号类型错误:
:SETVAR CURRENT_DATE "2016-09-15T17:30:00"
PRINT CONVERT(DATETIME2,'$(CURRENT_DATE)',126)
这个问题的重要部分是 Sqlcmd 的使用。简而言之,我试图弄清楚如何在我的脚本中使用 date/time,文档对此进行了阐述。
我尝试了几种日期格式、转换和转换等
有人有想法吗?
-- I don't know how else to format this but as a string
:SETVAR CURRENT_DATE "2016-09-15T17:30:00"
PRINT CONVERT(DATETIME2,'${CURRENT_DATE}',106)
报错:
Conversion failed when converting date and/or time from character string.
编辑:
我认为这与 sqlcmd 有关,与格式无关。
这个有效:
PRINT CONVERT(DATETIME2,'2016-09-15T17:30:00', 106)
这有效:
PRINT CONVERT(DATETIME2,'2016-09-15T17:30:00', 126)
但是使用 Setvar 它没有工作
:SETVAR CURRENT_DATE "2016-09-15T17:30:00"
PRINT CONVERT(DATETIME2,'${CURRENT_DATE}',126)
我也不在乎datetme是什么格式,所以我可以根据需要更改它。
您在 convert
函数中使用了错误的 style
参数。
对于 ISO8601,您应该使用 126,而不是像现在这样使用 106。
这应该有效:
:SETVAR CURRENT_DATE "2016-09-15T17:30:00"
PRINT CONVERT(DATETIME2,'${CURRENT_DATE}',126)
嗯,我是个傻瓜。括号类型错误:
:SETVAR CURRENT_DATE "2016-09-15T17:30:00"
PRINT CONVERT(DATETIME2,'$(CURRENT_DATE)',126)