アプリ版:「スタンプのみでお礼する」機能のリリースについて

SQLServerでGROUP BYを使用してデータをSELECTする場合について質問があります。

GROUP BYを行う項目に’△△1’と’1△’というデータが入っていた場合、
  ※上記の△は半角スペースです。

’△△1’と’1△’は同じグループとして、グルーピングされるのでしょうか。
Oracleにデータを移行して、GROUP BYをかけると上記のケースはデータ件数が異なります。
これはSQLServerの仕様なのでしょうか。(バージョンは2000です。)

お手数ですが、ご教示願います。 

A 回答 (2件)

SQL Server 2000 は持ってないけど、'△△1' と '△1' は区別されたと思いますよ。


後ろの空白文字が無視されて他と思います。

'1'
'△1'
'△△1'
'1△'
'1△△'

これを GROUP BY すると

'1'
'△1'
'△△1'

てな感じに
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

私が悩んでいたのは、この現象です。
おかげさまで納得できました。

お礼日時:2013/11/19 21:41

GROUP BYを行う項目の型はなんでしょう?



char(3)
’1△△’と’1△’は同じ
(’1△’を格納していても、’1△△’となるため)

varchar(3) ※Oracleではvarchar(3)
’1△△’と’1△’は別


’△△1’と’1△’が同じとみなされる?
⇒暗黙の型変換がされてしまって数値に変換されている気がします。。。
SQL Server2000で試す環境がないので、はっきりしたことはわかりませんが。
・・・項目としているけど実はConvert関数を使っている関数式とかならかなりあやしい。
    • good
    • 0
この回答へのお礼

お礼が遅くなって申し訳ありません。

’1△△’と’1△’は同じ
(’1△’を格納していても、’1△△’となるため)

私が悩んでいた現象はこれです。
質問が間違っていました。
おかげでたすかりました。ありがとうございます。

お礼日時:2013/11/19 21:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!