2015-02-20 2 views
-7

У меня есть Sybase заявление, которое упоминается ниже:Как сравнить даты в подготовленном заявлении

select s.airbill_nbr, s.orig, s.dest,p.swa_acct_nbr, s.prod_type, s.outbnd_date, s.shppr_name, s.consgn_name,s.shipping_chrg, s.misc_chrg, s.decl_val_chrg, s.tax_amt, s.fuel_chrg, s.scrty_chrg, s.tot_chrgs, s.tot_pcs, s.tot_chrgbl_wt, s.tot_actl_wt from shipment s, shipment_outbnd_stn o, payment p 
    where s.sa_shpmt_nbr = o.sa_shpmt_nbr 
    and o.sa_shpmt_nbr = p.sa_shpmt_nbr 
    and o.outbnd_date=convert(date,'01/29/2015',101) 
    and s.outbnd_empl_id is not null 
    and p.fop_cd = 'SW' 
    and p.swa_acct_nbr =40584 
    and s.void_flag is null 

Я должен создать подготовленное заявление для приведенного выше кода в Java, и я создал ниже:

String variable1="29/01/2015"; 

       psRetrieveAwbData = cattsDbc.prepareStatement("select s.airbill_nbr, s.orig, s.dest, " + 
         "p.swa_acct_nbr, s.prod_type, s.outbnd_date, s.shppr_name, s.consgn_name, " + 
         "s.shipping_chrg, s.misc_chrg, s.decl_val_chrg, s.tax_amt, s.fuel_chrg, " + 
         "s.scrty_chrg, s.tot_chrgs, s.tot_pcs, s.tot_chrgbl_wt, s.tot_actl_wt " + 
         "from shipment s, shipment_outbnd_stn o, payment p " + 
         "where s.sa_shpmt_nbr = o.sa_shpmt_nbr " + 
         "and o.sa_shpmt_nbr = p.sa_shpmt_nbr " + 
         "and o.outbnd_date = '"+ variable1 +"'" + 
         "and s.outbnd_empl_id is not null " + 
         "and p.fop_cd = 'SW' " + 
         "and p.swa_acct_nbr = " + iAccount + 
         "and s.void_flag is null"); 

но я не знаю, как установить дату на дату Формат, потому что способ, которым я положил его, не работает, беря переменную1, как переменную1 Она принимает как строку и не обнаруживает решение. Не могли бы вы рассказать мне, как для создания подготовленного заявления, где я могу прямо поставить дату или поставить дата, сохраняя его в некоторой переменной.

+0

use 'setDate (variable1)' –

+0

Это не подготовленное заявление. – Jens

+0

Как использовать setDate, не могли бы вы объяснить немного больше –

ответ

0
PreparedStatement pstmt = con.prepareStatement("select s.airbill_nbr, s.orig, s.dest, " + 
         "p.swa_acct_nbr, s.prod_type, s.outbnd_date, s.shppr_name, s.consgn_name, " + 
         "s.shipping_chrg, s.misc_chrg, s.decl_val_chrg, s.tax_amt, s.fuel_chrg, " + 
         "s.scrty_chrg, s.tot_chrgs, s.tot_pcs, s.tot_chrgbl_wt, s.tot_actl_wt " + 
         "from shipment s, shipment_outbnd_stn o, payment p " + 
         "where s.sa_shpmt_nbr = o.sa_shpmt_nbr " + 
         "and o.sa_shpmt_nbr = p.sa_shpmt_nbr " + 
         "and o.outbnd_date = ?" + 
         "and s.outbnd_empl_id is not null " + 
         "and p.fop_cd = 'SW' " + 
         "and p.swa_acct_nbr = " + iAccount + 
         "and s.void_flag is null");"); 

    pstmt.setDate (dt); 
Смежные вопросы