自身のために参照してください:世界でこれを可能にするための根拠であるスペースがSqlServerの有効な列名であるのはなぜですか?
create table #temp ([ ] varchar(1))
insert into #temp values ('1')
select [ ] from #temp
何?
自身のために参照してください:世界でこれを可能にするための根拠であるスペースがSqlServerの有効な列名であるのはなぜですか?
create table #temp ([ ] varchar(1))
insert into #temp values ('1')
select [ ] from #temp
何?
:
はこの 機能を妨げることは価値がありますか?
SQLは内部的にどのようにコード化されているのかわかりませんが、これを許可しないようにするためにはもっと努力が必要と思われます。
今これはいいです:)私はあなたの正当化が好きです+1 –
十分に公正。あなたはおそらくそれを防ぐためにもっと努力しています。 –
私は複雑なクエリをデバッグするときに、プレースホルダ/セパレータとして常に使用します。
SELECT a.*, ' ' as [ ], b.*
FROM a
LEFT JOIN b on ...
私は簡単に1が停止し、他の開始結果に表示することができますので、私は2つのテーブル間の空白部分を取得し、この方法:私はこのような何かがあるかもしれません。
その後、必要な結果とパフォーマンスが得られたら、私が気にする列だけを使用するようにselect句を変更します。
つまり、私は列名に何か他のものを使用できない理由はないと思います。私は根拠はの線に沿ってより多くのだと思います
+1私の迷惑のためのちょっとしたトリックありがとう – JoshBerke
スペースは他の文字と同じようです。 []という名前のテーブルを作成することもできます。 (私はそれを試して、それが働いた。)私は単にこれに制限がないと思う。
テーブルも? Yikes。それを試みるとは思わなかった。 –
一部の人々が列名にスペースを持って好きなようにスペースが、許容可能な文字であるとして扱われます。そして、それが列名の一部である可能性がある場合、列名自体はなぜですか?
どうして私は謎に包まれているのですか?プログラミングが非常に難しくなり(常にすべてを ""または[]で囲む)私は実際に疑問符を持つ列名を見ましたが、これは間違いなくすべての識別子で使用することを避けていますが、それでも可能です。
Ack!ある意味では、それはさらに悪いことです。 –
私は潜在的に危険な機能で自分自身を傷つけないよう十分に責任があると私は親切に感謝します。私はオブジェクト名のスペースのために正当な理由は見つけられませんでしたが、場合によっては普及しているようです。これははさみで走る極端な例です。
これは興味深いものです。そのようなクールなことを指摘するために+1 ... –
これは今から5年後にアプリケーションを維持するいくつかの貧弱な樹液をねじ込む方法です!私はちょうど彼らがいくつかの動的なクエリとデータがどこから来ているのか理解しようとしている彼らの髪を引き出すのを見ることができます。それはGOTO TOPと似ていますが、一番下に「トップ」を置くか、Fiveという名前の変数を宣言して5に設定しますが、他の場所に値を変更します。 –