none
SQL Server 2012におけるSQL文内の全角スペースについて RRS feed

  • 質問

  • SQL Server 2012にて、SQL文内の単語間の区切り文字が、

    半角スペースのみでなく、全角スペースでも動作するような仕様に変更されているようですが、

    SELECT{全角スペース}* FROM TABLE1

    SQL Server 2008の頃と同じように、全角スペースをエラーとする設定は可能でしょうか?

    (' ' 付近に不適切な構文があります。)

    2014年1月30日 10:07

回答

  • 現象、手元の環境でも確認しました。
    2008 R2(10.0.5775)ではエラー、2012(11.0.3368)では実行可、という状況でした。
    Technet Libraryでは該当する記述が見当たらなかったのでなんともわかりませんが、Unicodeのサロゲートペアのサポートが2012からなのでその影響なんでしょうかね?

    Microsoft Connect の SQL Server Bug Forum の方に投稿してみてはいかがでしょうか?
    あるいは差支えなければ私の方で投稿してしまっても構いませんが。


    MCITP(Database Developer/Database Administrator)

    • 回答の候補に設定 星 睦美 2014年1月31日 5:31
    • 回答としてマーク 星 睦美 2014年2月3日 4:51
    2014年1月31日 1:02

すべての返信

  • 照合順序がデフォルトの Japanese_CI_AS となっているからではないですか?

    2014年1月30日 10:46
  • 返信ありがとうございます。

    照合順序について、「_WS」や「_BIN」にて

    インスタンス、データベース、テーブルを再作成して試してみましたが、

    検索時の並べ替え順序等には反映されるものの

    SQL構文中の全角スペースについては、変化がありませんでした。


    2014年1月30日 12:55
  • そうすると自分には分かりません。

    お役に立てずすみませんが、他の方の回答をお待ちください。

    2014年1月30日 13:32
  • 現象、手元の環境でも確認しました。
    2008 R2(10.0.5775)ではエラー、2012(11.0.3368)では実行可、という状況でした。
    Technet Libraryでは該当する記述が見当たらなかったのでなんともわかりませんが、Unicodeのサロゲートペアのサポートが2012からなのでその影響なんでしょうかね?

    Microsoft Connect の SQL Server Bug Forum の方に投稿してみてはいかがでしょうか?
    あるいは差支えなければ私の方で投稿してしまっても構いませんが。


    MCITP(Database Developer/Database Administrator)

    • 回答の候補に設定 星 睦美 2014年1月31日 5:31
    • 回答としてマーク 星 睦美 2014年2月3日 4:51
    2014年1月31日 1:02
  • ご回答ありがとうございます。

    > Microsoft Connect の SQL Server Bug Forum の方に投稿してみてはいかがでしょうか?
    > あるいは差支えなければ私の方で投稿してしまっても構いませんが。

    Forumへの投稿も初めてで、うまく説明できないかもしれませんので、

    投稿いただけると非常に助かります。

    お願いしてもよろしいでしょうか。



    2014年1月31日 5:03
  • とり急ぎ、テキトウ英語で以下に投稿してみました。
    https://connect.microsoft.com/SQLServer/feedback/details/816220/

    意外とこれでも通じたりするので、文法は目をつむってください。
    仮にBy Design(そういうものです)という回答であっても、MSの社員からの回答が得られますので、先ずは回答を待ってみてください。
    ただ、1週間や半月では返ってこないと思われますので、気長に待ってください・・・。

    なお、Connectでは緑の▲の「重要であるとしてこれを報告」(同意の投票数)が多いものほど優先して処理されるという噂らしいので、よろしければ Connect のほうでお願いします。


    MCITP(Database Developer/Database Administrator)

    2014年1月31日 6:31
  • Connect の方に 5/9 に MS の方から回答が付きました。
    2012 からは全角スペースも空白文字として扱うということだそうです。
    ということで、お決まりの「by design」との回答でした。
    Feed Back まで。


    MCITP(Database Developer/Database Administrator)

    2014年5月12日 1:27