标签未正确粘贴的情况

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

我的案例类别未正确应用。您可以在此处看到,当这些曲目的节奏高于 120 时,它会为这些曲目分配节奏值“1”。我在 CASE WHEN 语句中定义“1”仅适用于节奏低于“40”

SELECT track_name, tempo, 
    CASE 
         WHEN tempo < '40' THEN '1'
         WHEN tempo >= '40' AND tempo < '50' THEN '2'
         WHEN tempo >= '50' AND tempo < '60' THEN '3'
         WHEN tempo >= '60' AND tempo < '70' THEN '4'
         WHEN tempo >= '70' AND tempo < '80' THEN '5'
         WHEN tempo >= '80' AND tempo < '90' THEN '6'
         WHEN tempo >= '90' AND tempo < '100' THEN '7'
         WHEN tempo >= '100' AND tempo < '110' THEN '8'
         WHEN tempo >= '110' AND tempo < '120' THEN '9'
         WHEN tempo >= '120' AND tempo < '130' THEN '10'
         WHEN tempo >= '130' AND tempo < '140' THEN '11'
         WHEN tempo >= '140' AND tempo < '150' THEN '12'
         ELSE NULL
    END  AS Pace
FROM unpopular_songs 
;

this shows the incorrect output

sql
1个回答
0
投票

检查 PACE 列的数据类型,可能是 char 数据类型,这就是字符串被修剪为长度 1 的原因。

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