我使用 Regexp_extract 的字段上的 CASE 语句

问题描述 投票:0回答:1

我有一个字段,其值类似于 {"code":"IE"},我使用下面的代码来提取国家/地区代码

regexp_extract_all(country_code,'"code":"(.*?)"',1) as "CountryCode",

我尝试使用下面的案例语句将代码替换为国家/地区名称

CASE "CountryCode" When 'AF' THEN 'Afghanistan'
When 'AL' THEN 'Albania'
When 'DZ' THEN 'Algeria'
When 'AS' THEN 'American Samoa'
When 'AD' THEN 'Andorra'
When 'AO' THEN 'Angola'
When 'AI' THEN 'Anguilla'
When 'AQ' THEN 'Antarctica'
When 'AG' THEN 'Antigua and Barbuda'
When 'AR' THEN 'Argentina'
When 'AM' THEN 'Armenia'
When 'AW' THEN 'Aruba'
When 'AU' THEN 'Australia'
When 'AT' THEN 'Austria'
When 'AZ' THEN 'Azerbaijan'
When 'BS' THEN 'Bahamas (the)'
When 'BH' THEN 'Bahrain'
When 'BD' THEN 'Bangladesh'
When 'BB' THEN 'Barbados'
When 'BY' THEN 'Belarus'
When 'BE' THEN 'Belgium'
When 'BZ' THEN 'Belize'
When 'BJ' THEN 'Benin'
When 'BM' THEN 'Bermuda'
When 'BT' THEN 'Bhutan'
When 'BO' THEN 'Bolivia (Plurinational State of)'
When 'BQ' THEN 'Bonaire, Sint Eustatius and Saba'
When 'BA' THEN 'Bosnia and Herzegovina'
When 'BW' THEN 'Botswana'
When 'BV' THEN 'Bouvet Island'
When 'BR' THEN 'Brazil'
When 'IO' THEN 'British Indian Ocean Territory (the)'
When 'BN' THEN 'Brunei Darussalam'
When 'BG' THEN 'Bulgaria'
When 'BF' THEN 'Burkina Faso'
When 'BI' THEN 'Burundi'
When 'CV' THEN 'Cabo Verde'
When 'KH' THEN 'Cambodia'
When 'CM' THEN 'Cameroon'
When 'CA' THEN 'Canada'
When 'KY' THEN 'Cayman Islands (the)'
When 'CF' THEN 'Central African Republic (the)'
When 'TD' THEN 'Chad'
When 'CL' THEN 'Chile'
When 'CN' THEN 'China'
When 'CX' THEN 'Christmas Island'
When 'CC' THEN 'Cocos (Keeling) Islands (the)'
When 'CO' THEN 'Colombia'
When 'KM' THEN 'Comoros (the)'
When 'CD' THEN 'Congo (the Democratic Republic of the)'
When 'CG' THEN 'Congo (the)'
When 'CK' THEN 'Cook Islands (the)'
When 'CR' THEN 'Costa Rica'
When 'HR' THEN 'Croatia'
When 'CU' THEN 'Cuba'
When 'CW' THEN 'Curaçao'
When 'CY' THEN 'Cyprus'
When 'CZ' THEN 'Czechia'
When 'CI' THEN 'Côte dIvoire'
When 'DK' THEN 'Denmark'
When 'DJ' THEN 'Djibouti'
When 'DM' THEN 'Dominica'
When 'DO' THEN 'Dominican Republic (the)'
When 'EC' THEN 'Ecuador'
When 'EG' THEN 'Egypt'
When 'SV' THEN 'El Salvador'
When 'GQ' THEN 'Equatorial Guinea'
When 'ER' THEN 'Eritrea'
When 'EE' THEN 'Estonia'
When 'SZ' THEN 'Eswatini'
When 'ET' THEN 'Ethiopia'
When 'FK' THEN 'Falkland Islands (the) [Malvinas]'
When 'FO' THEN 'Faroe Islands (the)'
When 'FJ' THEN 'Fiji'
When 'FI' THEN 'Finland'
When 'FR' THEN 'France'
When 'GF' THEN 'French Guiana'
When 'PF' THEN 'French Polynesia'
When 'TF' THEN 'French Southern Territories (the)'
When 'GA' THEN 'Gabon'
When 'GM' THEN 'Gambia (the)'
When 'GE' THEN 'Georgia'
When 'DE' THEN 'Germany'
When 'GH' THEN 'Ghana'
When 'GI' THEN 'Gibraltar'
When 'GR' THEN 'Greece'
When 'GL' THEN 'Greenland'
When 'GD' THEN 'Grenada'
When 'GP' THEN 'Guadeloupe'
When 'GU' THEN 'Guam'
When 'GT' THEN 'Guatemala'
When 'GG' THEN 'Guernsey'
When 'GN' THEN 'Guinea'
When 'GW' THEN 'Guinea-Bissau'
When 'GY' THEN 'Guyana'
When 'HT' THEN 'Haiti'
When 'HM' THEN 'Heard Island and McDonald Islands'
When 'VA' THEN 'Holy See (the)'
When 'HN' THEN 'Honduras'
When 'HK' THEN 'Hong Kong'
When 'HU' THEN 'Hungary'
When 'IS' THEN 'Iceland'
When 'IN' THEN 'India'
When 'ID' THEN 'Indonesia'
When 'IR' THEN 'Iran (Islamic Republic of)'
When 'IQ' THEN 'Iraq'
When 'IE' THEN 'Ireland'
When 'IM' THEN 'Isle of Man'
When 'IL' THEN 'Israel'
When 'IT' THEN 'Italy'
When 'JM' THEN 'Jamaica'
When 'JP' THEN 'Japan'
When 'JE' THEN 'Jersey'
When 'JO' THEN 'Jordan'
When 'KZ' THEN 'Kazakhstan'
When 'KE' THEN 'Kenya'
When 'KI' THEN 'Kiribati'
When 'KP' THEN 'Korea (the Democratic Peoples Republic of)'
When 'KR' THEN 'Korea (the Republic of)'
When 'KW' THEN 'Kuwait'
When 'KG' THEN 'Kyrgyzstan'
When 'LA' THEN 'Lao Peoples Democratic Republic (the)'
When 'LV' THEN 'Latvia'
When 'LB' THEN 'Lebanon'
When 'LS' THEN 'Lesotho'
When 'LR' THEN 'Liberia'
When 'LY' THEN 'Libya'
When 'LI' THEN 'Liechtenstein'
When 'LT' THEN 'Lithuania'
When 'LU' THEN 'Luxembourg'
When 'MO' THEN 'Macao'
When 'MG' THEN 'Madagascar'
When 'MW' THEN 'Malawi'
When 'MY' THEN 'Malaysia'
When 'MV' THEN 'Maldives'
When 'ML' THEN 'Mali'
When 'MT' THEN 'Malta'
When 'MH' THEN 'Marshall Islands (the)'
When 'MQ' THEN 'Martinique'
When 'MR' THEN 'Mauritania'
When 'MU' THEN 'Mauritius'
When 'YT' THEN 'Mayotte'
When 'MX' THEN 'Mexico'
When 'FM' THEN 'Micronesia (Federated States of)'
When 'MD' THEN 'Moldova (the Republic of)'
When 'MC' THEN 'Monaco'
When 'MN' THEN 'Mongolia'
When 'ME' THEN 'Montenegro'
When 'MS' THEN 'Montserrat'
When 'MA' THEN 'Morocco'
When 'MZ' THEN 'Mozambique'
When 'MM' THEN 'Myanmar'
When 'NA' THEN 'Namibia'
When 'NR' THEN 'Nauru'
When 'NP' THEN 'Nepal'
When 'NL' THEN 'Netherlands (the)'
When 'NC' THEN 'New Caledonia'
When 'NZ' THEN 'New Zealand'
When 'NI' THEN 'Nicaragua'
When 'NE' THEN 'Niger (the)'
When 'NG' THEN 'Nigeria'
When 'NU' THEN 'Niue'
When 'NF' THEN 'Norfolk Island'
When 'MP' THEN 'Northern Mariana Islands (the)'
When 'NO' THEN 'Norway'
When 'OM' THEN 'Oman'
When 'PK' THEN 'Pakistan'
When 'PW' THEN 'Palau'
When 'PS' THEN 'Palestine, State of'
When 'PA' THEN 'Panama'
When 'PG' THEN 'Papua New Guinea'
When 'PY' THEN 'Paraguay'
When 'PE' THEN 'Peru'
When 'PH' THEN 'Philippines (the)'
When 'PN' THEN 'Pitcairn'
When 'PL' THEN 'Poland'
When 'PT' THEN 'Portugal'
When 'PR' THEN 'Puerto Rico'
When 'QA' THEN 'Qatar'
When 'MK' THEN 'Republic of North Macedonia'
When 'RO' THEN 'Romania'
When 'RU' THEN 'Russian Federation (the)'
When 'RW' THEN 'Rwanda'
When 'RE' THEN 'Réunion'
When 'BL' THEN 'Saint Barthélemy'
When 'SH' THEN 'Saint Helena, Ascension and Tristan da Cunha'
When 'KN' THEN 'Saint Kitts and Nevis'
When 'LC' THEN 'Saint Lucia'
When 'MF' THEN 'Saint Martin (French part)'
When 'PM' THEN 'Saint Pierre and Miquelon'
When 'VC' THEN 'Saint Vincent and the Grenadines'
When 'WS' THEN 'Samoa'
When 'SM' THEN 'San Marino'
When 'ST' THEN 'Sao Tome and Principe'
When 'SA' THEN 'Saudi Arabia'
When 'SN' THEN 'Senegal'
When 'RS' THEN 'Serbia'
When 'SC' THEN 'Seychelles'
When 'SL' THEN 'Sierra Leone'
When 'SG' THEN 'Singapore'
When 'SX' THEN 'Sint Maarten (Dutch part)'
When 'SK' THEN 'Slovakia'
When 'SI' THEN 'Slovenia'
When 'SB' THEN 'Solomon Islands'
When 'SO' THEN 'Somalia'
When 'ZA' THEN 'South Africa'
When 'GS' THEN 'South Georgia and the South Sandwich Islands'
When 'SS' THEN 'South Sudan'
When 'ES' THEN 'Spain'
When 'LK' THEN 'Sri Lanka'
When 'SD' THEN 'Sudan (the)'
When 'SR' THEN 'Suriname'
When 'SJ' THEN 'Svalbard and Jan Mayen'
When 'SE' THEN 'Sweden'
When 'CH' THEN 'Switzerland'
When 'SY' THEN 'Syrian Arab Republic'
When 'TW' THEN 'Taiwan (Province of China)'
When 'TJ' THEN 'Tajikistan'
When 'TZ' THEN 'Tanzania, United Republic of'
When 'TH' THEN 'Thailand'
When 'TL' THEN 'Timor-Leste'
When 'TG' THEN 'Togo'
When 'TK' THEN 'Tokelau'
When 'TO' THEN 'Tonga'
When 'TT' THEN 'Trinidad and Tobago'
When 'TN' THEN 'Tunisia'
When 'TR' THEN 'Turkey'
When 'TM' THEN 'Turkmenistan'
When 'TC' THEN 'Turks and Caicos Islands (the)'
When 'TV' THEN 'Tuvalu'
When 'UG' THEN 'Uganda'
When 'UA' THEN 'Ukraine'
When 'AE' THEN 'United Arab Emirates (the)'
When 'GB' THEN 'United Kingdom of Great Britain and Northern Ireland (the)'
When 'UM' THEN 'United States Minor Outlying Islands (the)'
When 'US' THEN 'United States of America (the)'
When 'UY' THEN 'Uruguay'
When 'UZ' THEN 'Uzbekistan'
When 'VU' THEN 'Vanuatu'
When 'VE' THEN 'Venezuela (Bolivarian Republic of)'
When 'VN' THEN 'Viet Nam'
When 'VG' THEN 'Virgin Islands (British)'
When 'VI' THEN 'Virgin Islands (U.S.)'
When 'WF' THEN 'Wallis and Futuna'
When 'EH' THEN 'Western Sahara'
When 'YE' THEN 'Yemen'
When 'ZM' THEN 'Zambia'
When 'ZW' THEN 'Zimbabwe'
When 'AX' THEN 'Åland Islands'
END as CountryName
sql presto
1个回答
0
投票

您似乎试图用相应的国家/地区名称替换数据中的国家/地区代码。您的

CASE
语句似乎已正确配置以实现此目的。但是,根据您的示例,您似乎正在使用 SQL 或与其接近的查询语言。检查您的查询是否具有正确的表名和列名。以下是如何使用
CASE
语句的示例:

SELECT
    your_other_columns,
    CASE "CountryCode"
        When 'AF' THEN 'Afghanistan'
        When 'AL' THEN 'Albania'
        -- ... (all your country code mappings)
        When 'ZW' THEN 'Zimbabwe'
        When 'AX' THEN 'Åland Islands'
    END as CountryName
FROM
    your_table_name;

"CountryCode"
"CountryName"
"your_table_name"
替换为真实列和表的名称。当您运行此查询时,您应该获得一个结果集,其中
"CountryCode"
列已更改为
CASE
语句中指示的国家/地区名称。

© www.soinside.com 2019 - 2024. All rights reserved.