我需要在表值函数体内的语言之间切换,以返回不同语言的月份名称和工作日。但是当我尝试使用 SET LANGUAGE RUSSIAN
时我收到 Invalid use of a side-effecting operator 'SET COMMAND' within a function.
错误。
为什么在 TVF 中设置变量时会发生这种情况?如何在 TVF 中更改语言?
最佳答案
您不能使用 set language
在一个函数里面。
你用的是什么版本?
如果 2012+ 你可以做
SELECT FORMAT (GETDATE(), 'dddd', 'ru-RU'),
FORMAT (GETDATE(), 'MMMM', 'ru-RU')
反而。 (在回答当天返回
вторник, Сентябрь
)。在以前的版本中,您可以编写一个执行类似操作的 CLR 函数。
关于sql-server - 如何在 T-SQL 表值函数中切换语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32457005/