sql代码只能在天之间查找不是约会

lrpiutwd  于 2021-06-24  发布在  Hive
关注(0)|答案(3)|浏览(276)

我试图执行代码,但它抛出了一个错误。我需要时间在7到10天之间
我已经试过运行它了,但到目前为止还不起作用

select * from hive.entity.bookings_base_fact where car_number in('S424BFK',
'S275BCK',
'S257CAN',
'BANDYS',
'722YKE',
'427YNZ',
'042XUK',
'161YKD',
'029YHY',
'894VIF',
'856XHF',
'ALG16',
'364TGB',
'452YTB',
'171WSN',
'148YIC',
'599XPY',
'ZAG386',
'1LX5FU',
'1PC7PW',
'VISNOI',
'1BO1RQ',
'ZCI076',
'1LX6DH',
'ZSF986',
'1EIR205',
'1GKX072',
'RAKHRA',
'1GRK465',
'1EQO445',
'1EKU643',
'1DXD359',
'1EXA622',
'1DSJ769',
'SINGH001',
'A77027',
'1GOV986',
'1GBY431',
'1EDN031',
'1DUH537',
'1DIY218',
'WAN813',
'1DYR270',
'1ERI764',
'1DVS953',
'1GTW217',
'1GFD951',
'1ETD570',
'1GJG518',
'1GJI460',
'MIGLANI',
'1GHI708',
'1GPQ808',
'1GPT618',
'1EGF910',
'1ELU000',
'1GPP664',
'1GSF834',
'WA23600',
'1EPO234',
'1DYQ191',
'1EFG503',
'1EGK697',
'1EWY165',
'1EIX170',
'1GDP522',
'1GTP444',
'1DGF516',
'1DPC526',
'1EQM261',
'1EVC862',
'1GBX209',
'1GKZ876',
'1GNG683',
'1EEZ674',
'1GPO491',
'1EVB911',
'1GUP612',
'BV31RJ',
'CRQ71X',
'CT99PU',
'EAW37E',
'CYN07E',
'BWN62F',
'DNW45H',
'DFS57K',
'DVS85L',
'CL43PE',
'BNO46F',
'CZL21R',
'BH60VR',
'CM16EE',
'YJB08D',
'CO10RJ',
'DYW67H',
'DXL39P',
'CA10BZ',
'DWE07J',
'BV73JU',
'DPK94X',
'CJJ39S',
'CJH53E',
'CO33KZ',
'CU14BL',
'DZK23F',
'CD68JB',
'CVA62V',
'DKR25C',
'CP61CE',
'CQ55MZ',
'YCP92Y',
'DVQ94B',
'BWD26H',
'DWG35Q',
'YIV33C',
'DSN50W',
'CQ92MT',
'DXV29V',
'CHT08L',
'EAV95U',
'BN99CL',
'PTI786',
'CQ74YA',
'CK62MQ',
'CA70CH',
'CQ78UB',
'CN46RX',
'CL83WY',
'CM05DI',
'BU30HV',
'CGT93H',
'CM06TN',
'DVZ41R',
'CS35QM',
'CT03AY',
'YCP71P',
'BPI07J',
'CL43SH',
'DXV62T',
'CA99ME',
'YIU86L',
'YDE45J',
'CO96PR',
'EBN83B',
'BX19FX',
'YJK59F',
'DZB28E',
'BW50MZ',
'CK80MR',
) and year=2019 and month=06 and day between 7 and 10
deikduxw

deikduxw1#

尝试按以下方式将列转换为数据类型整数:

and cast(year as int) = 2019 
and cast(month as int) = 6 
and cast(day as int) between 7 and 10
nhaq1z21

nhaq1z212#

在整数中使用前导零表明列实际上是字符串。如果是这种情况,则比较应为字符串:

year = '2019' and month = '06' and
day between '07' and '10'
6yjfywim

6yjfywim3#

我建议你把日期存储在带有 DATE 格式,以便您可以使用本机函数并按以下方式执行查询:

WHERE YEAR(date) = 2019 
    AND MONTH(date) = 6 
    AND DAY(date) BETWEEN 7 AND 10

但在您的情况下,我认为您的列使用字符串,您可以这样做:

WHERE CAST(year AS INT) = 2019
        AND CAST(month AS INT) = 6
        AND CAST(day AS INT) BETWEEN 7 AND 10

相关问题