У меня есть набор данных реестра лицензий для врачей, в который входит total_submitted_charge_amount для каждого доктора, а также количество разрешений с помощью Medicare и Medicaid. Я использовал запрос из ответа, предложенного ниже:
with datamart AS
(SELECT npi,
provider_last_name,
provider_first_name,
provider_mid_initial,
provider_address_1,
provider_address_2,
provider_city,
provider_zipcode,
provider_state_code,
provider_country_code,
provider_type,
number_of_services,
CASE
WHEN REPLACE(num_entitlement_medicare_medicaid,',', '') ='' THEN
null
ELSE CAST(REPLACE(num_entitlement_medicare_medicaid,',', '') AS DECIMAL)
END AS medicare_medicaid_entitlement,
CASE
WHEN REPLACE(total_submitted_charge_amount,',', '') ='' THEN
null
ELSE CAST(REPLACE(num_entitlement_medicare_medicaid,',', '') AS DECIMAL)
END AS total_submitted_charge_amount
FROM cmsaggregatepayment2017)
SELECT *
FROM datamart
ORDER BY total_submitted_charge_amount DESC
К сожалению, я получаю ошибку
INVALID_CAST_ARGUMENT: Невозможно привести VARCHAR '' к DECIMAL (38, 0)
Этот запрос выполнялся к базе данных aggregatepayment_data_2017
, если только запрос не был квалифицирован. Пожалуйста, опубликуйте сообщение об ошибке на нашем форуме или свяжитесь со службой поддержки с помощью Query Id: be01d1e8-dc4d-4c75-a648-428dcb6be3a5
. "Я пробовал Decimal, Real, Big int и ничего не работает для приведения num_entitlement_medicare_medicaid. Ниже приведен скриншот того, как выглядят данные:
Может кто-нибудь подсказать, как перефразировать этот запрос?