1

マイナス、ドット、その他いくつかの記号を含む列名を使用しようとしました。Oracle SQL パーサーはそれらを除外しません。このような:

select
    a.ID as Article-Number, a.Name as Name
from
    Articles a
where
    (a.ID = '3264')

そして、それは例外ではありませんa.ID as 'Article-Number'(言う"FROM keyword not found where expected")。列名に記号を使用できますか?

4

4 に答える 4

4

二重引用符 ( ") を使用して、エイリアスと列名をエスケープできます。

select
    a.ID as "Article-Number", a.Name as "Name"
from
    Articles a
where
    (a.ID = '3264')
于 2014-10-29T06:51:38.930 に答える
3

列名に記号を使用できますか?

ここでは自動化を行っているため、すべてのエイリアスが二重引用符で囲まれます。重要なのは、エイリアスで文字列を使用する方法を知っていることです。

Oracle では、二重引用符 ( ") を使用してスキーマの名前 (列名を含む) をエスケープします。

ただし、物事を自動化しようとしている場合は、知っておくべきいくつかのルールがあります。

  • 名前は 1 ~ 30 文字にする必要があります。この制限を超える識別子は発生します
    ORA-00972: identifier is too long
  • 名前に引用符 ( ") や\0(ヌル) 文字を含めることはできません

詳細については、 Oracle のスキーマ オブジェクト命名規則を参照してください。

于 2014-10-29T09:05:18.877 に答える
0

1.ブラケット[]を使用すると思います

Select [Name@Symbol], [#Sharp!#Column] from Your table

この前に、この名前で作成する必要があります

2. シノニムを使用して 2 つ以上の名前を使用できます...

この方法が必要な場合は、コメントで言ってください。

TKU

于 2019-04-29T06:56:29.300 に答える