0

这个问题的重要部分是 Sqlcmd 的使用。简单地说,我试图弄清楚如何在我的脚本中使用日期/时间,而文档对此很清楚。

我尝试了几种日期格式、转换和转换等。

有人有想法吗?

-- 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 的格式,所以如果需要我可以更改它。

4

2 回答 2

0

您在函数中使用了错误的style参数convert
对于 ISO8601,您应该使用 126,而不是现在使用的 106。

这应该有效:

:SETVAR CURRENT_DATE "2016-09-15T17:30:00"

PRINT CONVERT(DATETIME2,'${CURRENT_DATE}',126)
于 2020-04-25T06:08:19.053 回答
0

好吧,我是个傻瓜。错误类型的括号:

:SETVAR CURRENT_DATE "2016-09-15T17:30:00"
PRINT CONVERT(DATETIME2,'$(CURRENT_DATE)',126)
于 2020-04-27T12:49:36.690 回答