Reputation: 1975
This works
SELECT
LEFT(DATENAME(DAY, GETDATE()), 3) + '-' +
LEFT(DATENAME(MONTH, GETDATE()), 3) + ' ' + '-' +
RIGHT('00' + CAST(YEAR(GETDATE()) AS VARCHAR), 2)
This also works
SELECT CONVERT(TIME(0), GETDATE())
But when I combine both then I get an error
SELECT
LEFT(DATENAME(DAY, GETDATE()), 3) + '-' +
LEFT(DATENAME(MONTH, GETDATE()), 3) + ' ' + '-' +
RIGHT('00' + CAST(YEAR(GETDATE()) AS VARCHAR), 2) + ' '
CONVERT(TIME(0), GETDATE())
Upvotes: 0
Views: 61
Reputation: 1270463
This doesn't answer your question, but your first query is overcomplicated. I don't understand the date format, but whatever you need, this is a simpler method:
SELECT DATENAME(DAY, GETDATE()) + '-' +
LEFT(DATENAME(MONTH, GETDATE()), 3) + ' -' +
RIGHT(DATENAME(YEAR, GETDATE()), 2)
Notes:
DAY
component is never more than 2 characters, so LEFT(. . . , 3)
is unnecessary.' ' + '-'
can be simplified to ' -'
.DATENAME()
on the year as well.Upvotes: 1
Reputation: 37473
You can try below - you need to add +
operator and also cast
it to 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))
Upvotes: 1