SQL 添加转换函数时出现语法错误
SQL Syntax Error When Adding Convert Function
这个有效
SELECT
LEFT(DATENAME(DAY, GETDATE()), 3) + '-' +
LEFT(DATENAME(MONTH, GETDATE()), 3) + ' ' + '-' +
RIGHT('00' + CAST(YEAR(GETDATE()) AS VARCHAR), 2)
这也有效
SELECT CONVERT(TIME(0), GETDATE())
但是当我将两者结合起来时,我得到了一个错误
SELECT
LEFT(DATENAME(DAY, GETDATE()), 3) + '-' +
LEFT(DATENAME(MONTH, GETDATE()), 3) + ' ' + '-' +
RIGHT('00' + CAST(YEAR(GETDATE()) AS VARCHAR), 2) + ' '
CONVERT(TIME(0), GETDATE())
您可以在下面尝试 - 您需要将 +
运算符和 cast
添加到 varchar()
SELECT LEFT(DATENAME(Day,GETDATE()),3) + '-' +
LEFT(DATENAME(MONTH,GETDATE()),3) + ' ' + '-' +
RIGHT('00' + CAST(YEAR(GETDATE()) AS VARCHAR),2) + ' ' +
cast(convert(time(0),getDate()) as varchar(10))
这没有回答您的问题,但您的第一个查询过于复杂。我不明白日期格式,但不管你需要什么,这是一个更简单的方法:
SELECT DATENAME(DAY, GETDATE()) + '-' +
LEFT(DATENAME(MONTH, GETDATE()), 3) + ' -' +
RIGHT(DATENAME(YEAR, GETDATE()), 2)
备注:
DAY
部分永远不会超过 2 个字符,因此 LEFT(. . . , 3)
是不必要的。
' ' + '-'
可以简化为' -'
.
- 您也可以在年份上使用
DATENAME()
。
这个有效
SELECT
LEFT(DATENAME(DAY, GETDATE()), 3) + '-' +
LEFT(DATENAME(MONTH, GETDATE()), 3) + ' ' + '-' +
RIGHT('00' + CAST(YEAR(GETDATE()) AS VARCHAR), 2)
这也有效
SELECT CONVERT(TIME(0), GETDATE())
但是当我将两者结合起来时,我得到了一个错误
SELECT
LEFT(DATENAME(DAY, GETDATE()), 3) + '-' +
LEFT(DATENAME(MONTH, GETDATE()), 3) + ' ' + '-' +
RIGHT('00' + CAST(YEAR(GETDATE()) AS VARCHAR), 2) + ' '
CONVERT(TIME(0), GETDATE())
您可以在下面尝试 - 您需要将 +
运算符和 cast
添加到 varchar()
SELECT LEFT(DATENAME(Day,GETDATE()),3) + '-' +
LEFT(DATENAME(MONTH,GETDATE()),3) + ' ' + '-' +
RIGHT('00' + CAST(YEAR(GETDATE()) AS VARCHAR),2) + ' ' +
cast(convert(time(0),getDate()) as varchar(10))
这没有回答您的问题,但您的第一个查询过于复杂。我不明白日期格式,但不管你需要什么,这是一个更简单的方法:
SELECT DATENAME(DAY, GETDATE()) + '-' +
LEFT(DATENAME(MONTH, GETDATE()), 3) + ' -' +
RIGHT(DATENAME(YEAR, GETDATE()), 2)
备注:
DAY
部分永远不会超过 2 个字符,因此LEFT(. . . , 3)
是不必要的。' ' + '-'
可以简化为' -'
.- 您也可以在年份上使用
DATENAME()
。