将 'YYYYMM' 与具有不同数据类型 Teradata 的两列进行比较

时间:2021-06-26 23:18:21

标签: sql teradata teradata-sql-assistant

我正在使用 Teradata SQL 助手,但我有一个与下面类似的 SQL 问题。

Table_a(包含超过 5 亿行):

<?xml version="1.0" encoding="utf-8"?>
<MotionScene xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <Transition
        app:constraintSetStart="@+id/expanded"
        app:constraintSetEnd="@+id/collapsed">

        <OnSwipe
            app:dragDirection="dragUp"
            app:touchAnchorId="@id/content"
            app:touchAnchorSide="top"
            app:onTouchUp="decelerate" />

    </Transition>

    <ConstraintSet android:id="@+id/expanded">

        <Constraint
            android:id="@+id/image"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:alpha="1.0"
            app:layout_constraintDimensionRatio="1:1"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent" />

        <Constraint
            android:id="@+id/text1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:alpha="1.0"
            app:layout_constraintTop_toBottomOf="@id/image"
            app:layout_constraintStart_toStartOf="parent" />

    </ConstraintSet>

    <ConstraintSet android:id="@+id/collapsed">

        <Constraint
            android:id="@+id/image"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:alpha="0.0"
            app:layout_constraintDimensionRatio="1:1"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintBottom_toTopOf="parent" />

        <Constraint
            android:id="@+id/text1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:alpha="0.0"
            app:layout_constraintBottom_toTopOf="parent"
            app:layout_constraintStart_toStartOf="parent" />

    </ConstraintSet>

</MotionScene>

在我的查询中,我只想选择 b 的年/月等于或大于 c/d 的行,因此在本例中,我将只得到行 id = 2。

这里的问题是列 c 是一个 smallint,d 是 byteint,而 b 是一个 date。我没有找到用 id| b | c |d 1|2021-05-03|2 020| 6 2|2019-04-22|2 019| 4 3|2018-11-15|2 018| 10 to_char(b,'yyyymm') 的方法,因为 c 和 d 包含空格,而 c 列可能只有一个数字(例如,如果月份在 1 月和 9 月之间,则为 6 而不是 06),所以我这样做了:

c||d

我的查询花费了很多时间,有时它会因没有更多的假脱机空间而失败(例如,即使我放了样本 10)。我想问题出在数据类型和转换中。我已经在没有转换的情况下对其进行了测试,但我遇到了同样的性能问题。

0 个答案:

没有答案