从 Postgresql 到 SQL 服务器的转换

Conversion from Postgresql to SQL Server

我正在使用 SSMS 并从 PostgreSQL 引入一些数据,我在 PostgreSQL 中使用的转换在 SQL 服务器中不起作用。该代码将数据条目编号转换为用户可以搜索的较小格式。 PostgreSQL 中的代码是:

(substring(A."DATA_NUMBER"::text, 14, 2) || '-'::text) 
         || substring(a."DATA_NUMBER"::text, 2, 5) AS NEW_DATA

这是一个更大查询的一部分,但这是其中唯一在 SQL 服务器中不起作用的部分。我不太了解 SQL 服务器中的转换,所以它可能很简单。

子字符串和转换是两个不同的东西。请删除 ::text 并将 || 替换为 + 并重试。

当设置 QUOTED_IDENTIFIER 设置为 ON 时,

"DATA_NUMBER" 将仅用作 Object-Identifier。如果DATA_NUMBER是一列,我会这样写代码:

(substring(A.DATA_NUMBER, 14, 2) + '-') 
         + substring(a.DATA_NUMBER, 2, 5) AS NEW_DATA