TRIM 不是公认的内置函数名称

新手上路,请多包涵

对于以下代码:

 DECLARE @ss varchar(60)
  SET @ss = 'admin'

  select TRIM(@ss)

我有一个错误:

“TRIM”不是可识别的内置函数名称

原文由 sathish 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.8k
2 个回答

TRIM 在 SQL Server 中引入(从 2017 年开始)。

在旧版本的 SQL Server 中,您必须使用 LTRIMRTRIM 来执行修剪,如下所示。

 DECLARE @ss varchar(60)
  SET @ss = ' admin '

  select RTRIM(LTRIM(@ss))

如果您不喜欢在任何地方使用 LTRIM , RTRIM ,您可以创建自己的自定义函数,如下所示。

    CREATE FUNCTION dbo.TRIM(@string NVARCHAR(max))
    RETURNS NVARCHAR(max)
     BEGIN
      RETURN LTRIM(RTRIM(@string))
     END
    GO

原文由 PSK 发布,翻译遵循 CC BY-SA 4.0 许可协议

也许它设置为较早的兼容性级别。

使用它来找出:

 SELECT compatibility_level FROM sys.databases

SQL Server 2017 为 140

如果它更低,那么它将无法识别 TRIM

更改对 SQL Server 2017 的兼容性

ALTER DATABASE database_name
SET COMPATIBILITY_LEVEL = 140

有关每个 SQL Server 版本支持的兼容性级别的列表,请查看 ALTER DATABASE (Transact-SQL) 兼容性级别。

根据下面的评论,您安装的 SQL Server 版本是 SQL 2016。您需要安装 SQL Sever 2017 才能获得 TRIM

原文由 Nick.McDermaid 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进