2011-07-26 27 views
1

我有以下SQL查詢:試圖將貨幣符號添加到MySQL

SELECT mshipType_Name, 
     COUNT('x') AS mshipssold, 
     sum(memberToMship_InductionFee+memberToMship_JoinFee+ 
      (IF(mshipOption_Period='year', 
      TIMESTAMPDIFF (YEAR ,memberToMship_StartDate, memberToMship_EndDate), 
      TIMESTAMPDIFF (MONTH ,memberToMship_StartDate, memberToMship_EndDate)) * memberToMship_ChargePerPeriod)) as value 
FROM membertomships 
    INNER JOIN mshipoptions on membertomships.mshipOption_Id = mshipoptions.mshipOption_Id 
    INNER JOIN mshiptypes on mshipoptions.mshipType_Id = mshiptypes.mshipType_Id 
WHERE memberToMship_StartDate BETWEEN '2011-06-26' AND '2011-07-26' 
GROUP BY mshipType_Name; 

它會顯示的結果是這樣的:

  mshiptype_name  mshipsold  value 
      --------------  ---------  ----- 
      gold     3    3800.00 
      silver    4    4800.00 

其優良的,我可以得到的結果是這樣英鎊符號增加了值:

  mshiptype_name  mshipsold  value 
      --------------  ---------  ----- 
      gold     3    £ 3800.00 
      silver    4    £ 4800.00 

是否可以使用MySQL查詢?

修改後的查詢:

  SELECT set names utf-8,mshipType_Name, COUNT('x') AS mshipssold, 
           CONCAT('£', sum(memberToMship_InductionFee+memberToMship_JoinFee+ 
            (IF(mshipOption_Period='year', 
            TIMESTAMPDIFF (YEAR ,memberToMship_StartDate, memberToMship_EndDate), 
            TIMESTAMPDIFF (MONTH ,memberToMship_StartDate, memberToMship_EndDate)) * memberToMship_ChargePerPeriod))) as value 
           FROM membertomships 
           inner join mshipoptions on membertomships.mshipOption_Id = mshipoptions.mshipOption_Id 
           inner join mshiptypes on mshipoptions.mshipType_Id = mshiptypes.mshipType_Id 
           WHERE memberToMship_StartDate BETWEEN '2011-06-26' AND '2011-07-26' 
           GROUP BY mshipType_Name; 





    Error Code: 1064 
     You have an error in your SQL syntax; check the manual that corresponds to your  MySQL server version for the right syntax to use near 'set names utf-8,mshipType_Name, COUNT('x') AS mshipssold, 
        ' at line 1 

回答

0

是的,嘗試用:

set names utf8; 
SELECT mshipType_Name, COUNT('x') AS mshipssold, 
           sum(memberToMship_InductionFee+memberToMship_JoinFee+ 
            (IF(mshipOption_Period='year', 
            TIMESTAMPDIFF (YEAR ,memberToMship_StartDate, memberToMship_EndDate), 
            CONCAT('£ ', TIMESTAMPDIFF (MONTH ,memberToMship_StartDate, memberToMship_EndDate)) * memberToMship_ChargePerPeriod))) as value 
           FROM membertomships 
           inner join mshipoptions on membertomships.mshipOption_Id = mshipoptions.mshipOption_Id 
           inner join mshiptypes on mshipoptions.mshipType_Id = mshiptypes.mshipType_Id 
           WHERE memberToMship_StartDate BETWEEN '2011-06-26' AND '2011-07-26' 
           GROUP BY mshipType_Name; 
+0

可以請你告訴我們如何寫「£」或其他符號,如INR這是目前介紹,數據庫編程編輯器.. ?? ,因爲截至目前我無法得到如何寫這個.. :( –

+0

不,它不顯示符號 – user682417

+0

@Tudor Constantin:我知道你會知道這個,所以請descibe這 –