2010-01-06 10 views
0
SELECT 
     SLTR_COMP_CODE, 
     sltr_ldgr_code, 
     sltr_slmast_acno Acno, 
     SUBSTRING(sltr_slmast_acno, 1, 1) category, 
     ISNULL(SUM(CONVERT(FLOAT, sltr_tran_amt - ISNULL(sltr_matched_amt, 0))), 0) Net_Bal, 
     SUM(CONVERT(FLOAT, CASE DBO.glas_agewise_analysis(CONVERT(DATETIME, '2009-04-04', 103) - FLOOR(sltr_pstng_datetime)) 
      WHEN 1 THEN (sltr_tran_amt - ISNULL(sltr_matched_amt, 0)) 
      ELSE 0 
     END)) thirty_days, 
     SUM(CONVERT(FLOAT, CASE DBO.glas_agewise_analysis(CONVERT(DATETIME, '2009-04-04', 103) - FLOOR(sltr_pstng_datetime)) 
      WHEN 2 THEN (sltr_tran_amt - ISNULL(sltr_matched_amt, 0)) 
      ELSE 0 
     END)) sixty, 
     SUM(CONVERT(FLOAT, CASE DBO.glas_agewise_analysis(CONVERT(DATETIME, '2009-04-04', 103) - FLOOR(sltr_pstng_datetime)) 
      WHEN 3 THEN (sltr_tran_amt - ISNULL(sltr_matched_amt, 0)) 
      ELSE 0 
     END)) ninty, 
     SUM(CONVERT(FLOAT, CASE DBO.glas_agewise_analysis(CONVERT(DATETIME, '2009-04-04', 103) - FLOOR(sltr_pstng_datetime)) 
      WHEN 4 THEN (sltr_tran_amt - ISNULL(sltr_matched_amt, 0)) 
      ELSE 0 
     END)) One_twenty, 
     SUM(CONVERT(FLOAT, CASE DBO.glas_agewise_analysis(CONVERT(DATETIME, '2009-04-04', 103) - FLOOR(sltr_pstng_datetime)) 
      WHEN 5 THEN (sltr_tran_amt - ISNULL(sltr_matched_amt, 0)) 
      ELSE 0 
     END)) One_fifty 
FROM glas_sl_transactions 
WHERE SLTR_COMP_CODE = '1' 
AND sltr_ldgr_code = '01' 
GROUP BY sltr_ldgr_code, 
    sltr_slmast_acno, 
     SLTR_COMP_CODE 

erreur: Msg 260, Niveau 16, État 3, Ligne 1 Rejeté conversion implicite de datetime type de données à flotteur de type de données, table 'glas_sl_transactions', colonne 'SLTR_PSTNG_DATETIME'. Utilisez la fonction CONVERT pour exécuter cette requête.requête Sql avec des fonctions

comment puis-je exécuter cette requête?

+0

Étant donné que vous êtes membre depuis 4 mois, j'aurais pensé que vous sauriez au moins formater le code? –

Répondre

2

Essayez de remplacer vos expressions avec:

CONVERT(float, CONVERT(datetime, '2009-04-04', 103)) 
    - FLOOR(CONVERT(float, sltr_pstng_datetime)) 

afin que tous vos conversions sont explicites.