' TO_CHAR'不是公认的内置函数名称

时间:2017-05-19 13:22:50

标签: sql sql-server date type-conversion to-char

    (to_char(sysdate,'YYYY')+least(sign((sysdate-to_date('01-Aug-'||
to_char(sysdate,'YYYY'),'DD-Mon-RRRR'))),0)) "AcYear"

错误:

'to_char' is not a recognized built-in function name.

我尝试将to_char和to_date更改为CONVERT,但收到错误。

我期待2016年成为AcYear

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

在SQL Server中,如果您想要8月的第一天,请使用datefromparts()

select datefromparts(year(getdate()), 8, 1)

这适用于SQL Server 2012+。早期版本需要稍微多做一些工作:

select cast(datename(year, getdate()) + '0801' as date)