小编use*_*641的帖子

如何在 SQL 中将电话号码前缀与电话号码中的国家/地区相匹配

我正在尝试从数字列表中提取国家/地区代码前缀,并将它们与它们所属的区域进行匹配。数据可能看起来像这样:

| id | phone_number   |
|----|----------------|
| 1  | +27000000000   |
| 2  | +16840000000   |
| 3  | +10000000000   |
| 4  | +27000000000   |
Run Code Online (Sandbox Code Playgroud)

这里的国家代码是:

  • 美属萨摩亚:+1684
  • 美国和加勒比海地区:+1
  • 南非:+27

期望的结果是这样的:

| country                     | count |
|-----------------------------|-------|
| South Africa                | 2     |
| American Samoa              | 1     |
| United States and Caribbean | 1     |
Run Code Online (Sandbox Code Playgroud)

有一些困难是因为

  • 国家/地区前缀代码从 1 到 4 个数字不等,即使没有国家/地区前缀,
  • 电话号码的长度因地而异。
  • 我没有对此数据库的写访问权限,因此添加另一列虽然可能是最好的解决方案,但在此用例中不起作用

这是我当前的解决方案:

SELECT 
CASE
    WHEN SUBSTRING(phone_number,1,5) = '+1684' THEN 'American Samoa'
    WHEN SUBSTRING(phone_number,1,5) = '+1264' …
Run Code Online (Sandbox Code Playgroud)

sql postgresql phone-number libphonenumber

5
推荐指数
1
解决办法
3875
查看次数

抛出错误时,React-native fetch无法setState

背景

我试图用fetch()我的React Native Component中的函数处理错误的HTTP响应.我使用了这里的代码,建议创建一个模块来处理响应错误.

// ApiUtils.js

var ApiUtils = {  
  checkStatus: function(response) {
    if (response.status >= 200 && response.status < 300) {
      return response;
    } else {
      let error = new Error(response.statusText);
      error.response = response;
      throw error;
    }
  }
};
export { ApiUtils as default };
Run Code Online (Sandbox Code Playgroud)

这是我的组件的代码:

import React, { Component } from 'react';
import {View, Text, StyleSheet, Slider, ListView} from 'react-native';
import GLOBAL from "../../Globals.js"
import ApiUtils from "../utils/ApiUtils.js"

class FetchedList extends Component {
    constructor(props) …
Run Code Online (Sandbox Code Playgroud)

javascript fetch reactjs react-native react-native-android

1
推荐指数
1
解决办法
6652
查看次数