- ベストアンサー
SQLServerのGROUP BYについて
SQLServerでGROUP BYを使用してデータをSELECTする場合について質問があります。 GROUP BYを行う項目に’△△1’と’1△’というデータが入っていた場合、 ※上記の△は半角スペースです。 ’△△1’と’1△’は同じグループとして、グルーピングされるのでしょうか。 Oracleにデータを移行して、GROUP BYをかけると上記のケースはデータ件数が異なります。 これはSQLServerの仕様なのでしょうか。(バージョンは2000です。) お手数ですが、ご教示願います。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
SQL Server 2000 は持ってないけど、'△△1' と '△1' は区別されたと思いますよ。 後ろの空白文字が無視されて他と思います。 '1' '△1' '△△1' '1△' '1△△' これを GROUP BY すると '1' '△1' '△△1' てな感じに
その他の回答 (1)
- Siegrune
- ベストアンサー率35% (316/895)
GROUP BYを行う項目の型はなんでしょう? char(3) ’1△△’と’1△’は同じ (’1△’を格納していても、’1△△’となるため) varchar(3) ※Oracleではvarchar(3) ’1△△’と’1△’は別 ※ ’△△1’と’1△’が同じとみなされる? ⇒暗黙の型変換がされてしまって数値に変換されている気がします。。。 SQL Server2000で試す環境がないので、はっきりしたことはわかりませんが。 ・・・項目としているけど実はConvert関数を使っている関数式とかならかなりあやしい。
お礼
お礼が遅くなって申し訳ありません。 ’1△△’と’1△’は同じ (’1△’を格納していても、’1△△’となるため) 私が悩んでいた現象はこれです。 質問が間違っていました。 おかげでたすかりました。ありがとうございます。
お礼
回答ありがとうございます。 私が悩んでいたのは、この現象です。 おかげさまで納得できました。