Как преобразовать строку в деньги в процессе преобразования преобразования данных в SSIS?

Легкий способ упорядочить результат после того, как mongo возвращает массив, состоит в том, чтобы сделать объект с идентификатором в качестве ключей, а затем отобразить на заданный _id, чтобы вернуть упорядоченный массив.

async function batchUsers(Users, keys) {
  const unorderedUsers = await Users.find({_id: {$in: keys}}).toArray()
  let obj = {}
  unorderedUsers.forEach(x => obj[x._id]=x)
  const ordered = keys.map(key => obj[key])
  return ordered
}
2
задан Hadi 16 January 2019 в 20:18
поделиться

2 ответа

Как предложил @ Nick.McDermaid, попробуйте очистить данные и выполнить приведение с использованием производного столбца, прежде чем вставить его в SQL Server. Также убедитесь, что вы проверите для значений NULL. Вы можете использовать следующее выражение:

ISNULL([Price]) ? NULL(DT_CY) : ([Price] == "" ? NULL(DT_CY) : (DT_CY)(REPLACE(REPLACE((DT_WSTR,50)[Price],"$",""),",",""))) 

После удаления знака $ и запятых , операция приведения будет работать нормально.

Полезная ссылка

0
ответ дан Hadi 16 January 2019 в 20:18
поделиться

Я думаю, вам нужно использовать CONVERT следующим образом:

(DT_DECIMAL,3)[Price]

Вы можете найти информацию о функции CAST: https://docs.microsoft.com/en-us/sql/integration -services / expressions / cast-ssis-expression? view = sql-server-2017

Это способ преобразования в SSIS.

0
ответ дан pascal sanchez 16 January 2019 в 20:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: