Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SELECT
shohin_cd
, SUM(CAST(REPLACE(sales, ',', '') AS INTEGER)) AS sales
FROM
table1
GROUP BY
shohin_cd
SELECT shohin_cd , SUM(CAST(REPLACE(sales, ',', '') AS INTEGER)) AS sales FROM table1 GROUP BY shohin_cd
SELECT 
  shohin_cd
  , SUM(CAST(REPLACE(sales, ',', '') AS INTEGER)) AS sales
FROM
  table1
GROUP BY
  shohin_cd

salesという項目には、1,000,000という値がVARCHARで保存されていたとすると、
1)REPLACE関数でカンマをスペースに変換 : 1,000,0001000000
2)CAST関数でVARCHARをINTEGERに変換
3)SUM関数で合計値を算出する
→1),2)を行わないでSUMすると以下のようなエラーが発生します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Unexpected parameters (varchar) for function sum. Expected: sum(double) , sum(real) , sum(bigint) , sum(interval day to second) , sum(interval year to month) , sum(decimal(p,s))
Unexpected parameters (varchar) for function sum. Expected: sum(double) , sum(real) , sum(bigint) , sum(interval day to second) , sum(interval year to month) , sum(decimal(p,s))
Unexpected parameters (varchar) for function sum. Expected: sum(double) , sum(real) , sum(bigint) , sum(interval day to second) , sum(interval year to month) , sum(decimal(p,s)) 
おすすめの記事