2014-04-03 71 views
0

的數返回列我有此查詢:只有字符

 SELECT GUITAR_NO,COUNT(INVENTORY) 
    FROM INVENTORY.GUITARS 
    WHERE guitars.guitar_type = 'FENDER' and GUITARS.Guitar_no LIKE('4%') 
    GROUP BY GUITAR_NO 

我試圖得到查詢只返回吉他字符是6個字符長,再也沒有短。有沒有辦法在DB2中執行此操作?

獎勵:我怎麼只返回guitar_no其中count(庫存)> 3

回答

1

只需使用LENGTH函數返回的你在傳遞什麼都現場整數表示

在你WHERE條款只需添加。 AND LENGTH(GuitarName) = 6只需將GuitarName替換爲您需要檢查的字段。

擺脫多餘的空白只是把它包在TRIM功能

LENGTH(TRIM(GuitarName)) = 6

獎勵:

只需添加GROUP BY

SELECT GUITAR_NO,COUNT(INVENTORY) 
FROM INVENTORY.GUITARS 
WHERE guitars.guitar_type = 'FENDER' 
    and GUITARS.Guitar_no LIKE('4%') 
    and LENGTH(TRIM(guitars.guitar_type)) = 6 
GROUP BY GUITAR_NO 
HAVING COUNT(INVENTORY) > 3 
條款後 HAVING
+0

我可以做只是人物,其在最後拿起空格。 – Sewder

+0

@Sewder我更新回答 –

+0

你太棒了!謝謝! – Sewder

1
  1. 使用LENGTH(TRIM(guitar_type)) = 6WHERE條款

  2. 使用HAVING COUNT(INVENTORY) > 3GROUP BY條款後

+0

長度是在最後拿起空格,我可以限制它只計數字母嗎? – Sewder