小编Suj*_*tha的帖子

使用过滤方法合并两个数组

我停留在显示购物车页面的位置,其中列出了由用户添加到购物车的产品。我有两个数组:一个包含产品详细信息。

productDetails: [
            {
              productID: 1,
              productTitle: 'Product Title 1',
              productPrice: 2000
            },
            {
              productID: 2,
              productTitle: 'Product Title 2',
              productPrice: 5000
            },
            {
              productID: 3,
              productTitle: 'Product Title 3',
              productPrice: 1000
            },
            {
              productID: 4,
              productTitle: 'Product Title 4',
              productPrice: 10000
            }
          ],
Run Code Online (Sandbox Code Playgroud)

另一个带有购物车产品详细信息,其产品ID和数量仅由用户选择。

cartProducts: [
            {
              productID: 1,
              quantity: 5,
            },
            {
              productID: 3,
              quantity: 2,
            }
          ]
Run Code Online (Sandbox Code Playgroud)

我已经过滤掉用户选择的所有产品。

cartItemDetails() {
      return this.productDetails.filter(
        el => this.cartProducts.some(f => f.id === el.productID),
      );
    },
Run Code Online (Sandbox Code Playgroud)

此函数提供productID 1和3的产品详细信息。我想要的是一个新数组,该数组将cartProducts数组的数量属性添加到productDetails数组。

newArray: [
            {
              productID: …
Run Code Online (Sandbox Code Playgroud)

javascript arrays dictionary filter

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

检查字符串是否为有效日期

我有一个带有字段 sourcefilename 的表,它有 5 条记录。以下是记录。

SN. SOURCEFILENAME
1. 20170215095453_1.Iredell Memorial Hospital Dental Eligibility.xls_INFREPT01.txt
2. Iredell Memorial Hospital Eligibility April 2017.xls_INFREPT01.txt
3. Iredell Memorial Hospital Eligibility March 2017.xls_INFREPT01.txt
4. Iredell Memorial Hospital Eligibility May 2017.xls_INFREPT01.txt
5. Iredell Memorial Hospital October 2016 Dental Eligibility.xls_EligData.txt
Run Code Online (Sandbox Code Playgroud)

我只需要提取前 8 个字符并检查它是否是有效日期。如果它是一个有效日期,则返回 TRUE,否则返回 FALSE。

我试过 ISDATE 函数。还有其他选择吗?

SELECT DISTINCT SubStr(sourcefilename,1,8),
CASE WHEN isdate(SubStr(sourcefilename,1,8),'YYYYMMDD') = 1 THEN 'TRUE' ELSE 'FALSE' END  FROM ai_4451_1_metl;
Run Code Online (Sandbox Code Playgroud)

oracle plsql

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

我们能否找到导致 ORA-00942 表或视图不存在的表。:

我有一个带有 CTAS 查询的普通 PLSQL 块。

BEGIN
EXECUTE IMMEDIATE'
CREATE TABLE ZZZ_TEMP NOLOGGING PARALLEL AS
SELECT /*+ PARALLEL(a,4) */
        *
    FROM
        HI0XXX001.HI_TABLE_NAME a
    LEFT JOIN
        HR_001_GROUP B
    ON
        a.EMPLOYERGROUP_UD =B.ACC_NUM
    LEFT JOIN
        HR_002_GROUP l
    ON
        a.EMPLOYERGROUP_UD =l.EMPLOYERGROUP_UD
    AND
        a.GRP_CON_UD_COV_CONTRACT_NAME=l.GRP_CON_UD_COV_CONTRACT_NAME
    ';
EXCEPTION WHEN OTHERS THEN Dbms_Output.put_line(SQLERRM);
END;
Run Code Online (Sandbox Code Playgroud)

假设 HR_002_GROUP 表在我运行此块的模式中不存在。有什么方法可以显示错误消息,说 HR_002_GROUP 表不存在?

我发布的查询只是一个示例场景。我们在 ETL 结构中工作,我们有一大行查询脚本,可以将数百万个数据从许多 HI 表中的一个插入到另一个带有前缀 VH 的小表中。我在左连接中有大约 15-30 个表。选择每个左连接以了解哪个表实际上导致错误是很耗时的。

oracle error-handling plsql dynamic-sql

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