首页 > 解决方案 > 添加转换函数时的 SQL 语法错误

问题描述

这有效

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())

标签: sqlsql-servervisual-studiovisual-studio-2010

解决方案


您可以在下面尝试 - 您需要添加+操作员并将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))

推荐阅读