在Oracle中,可以使用:
SELECT to_char(sysdate, 'yyyy-mm') FROM dual;
仅显示日期的年和月部分。此外,您可以设置NLS_DATE_FORMAT更改默认情况下返回日期的方式。
NLS_DATE_FORMAT
我知道在SQL Server中,您可以使用一组预定义的选项:
SELECT convert(varchar, getdate(), 110) 鈥�- mm-dd-yyyy SELECT convert(varchar, getdate(), 111) 鈥�- yyyy/mm/dd
但是有没有一种选择可以给我与甲骨文一样的自由to_char呢?最好是不需要我创建自定义函数的函数。
to_char
当前最好的选择是拥有CLR函数,该函数是.NET的包装器DateTime.ToString(string format)。
DateTime.ToString(string format)
如果您不想使用单独的函数,则可以从片段中构建所需的字符串:
YEAR(@d) + '-' + MONTH(@d) + '-' + DAY(@d)
至于确定的解决方案,SQL Server的下一版本中将提供格式化功能。