- PR -

列名に"-"が付いているものが検索条件

1
投稿者投稿内容
まろ茶
会議室デビュー日: 2004/07/28
投稿数: 17
投稿日時: 2006-05-01 11:35
いつもお世話になっております。

データベース:SQLServer2000
やりたいこと:列名に"-"が使われているカラムを条件にして
       データを取得したい。
例)テーブル名:T_Test
  列:AB-001
データ型:varchar

|AB-001   |
|------------|
|1234    |
|5678    |
|      |

SQLコマンド
 SELECT * FROM T_Test WHERE AB-001 = '1234'

このSQLコマンドだと
列'AB'は無効ですと表示され、

 SELECT * FROM T_Test WHERE 'AB-001' = '1234'

だと結果が返ってきません。

列名に"-"が付いているものを検索条件にする方法を
ご存知の方がいらっしゃいましたら、
ご教授頂けますでしょうか。
宜しくお願い致します。


もしもし
ぬし
会議室デビュー日: 2004/10/15
投稿数: 280
投稿日時: 2006-05-01 11:42
SELECT * FROM T_Test WHERE "AB-001" = '1234'

ならどうでしょう?

_________________
もしもし@RMAN 友の会
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-01 11:49
SELECT * FROM T_Test WHERE [AB-001] = '1234'

かな。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
忠犬
大ベテラン
会議室デビュー日: 2006/05/01
投稿数: 109
投稿日時: 2006-05-01 12:54
列名に「-」がある場合は、"列名"と指定してください。

【指定例】
SELECT * FROM T_Test WHERE "AB-001" = '1234'

【誤り】
WHERE AB-001 = '1234'
→列ABと001の減算と、文字'1234'の比較と解釈されます。

WHERE 'AB-001' = '1234'
→文字'AB-001'と文字'1234'の比較になり、結果は常に偽です。
まろ茶
会議室デビュー日: 2004/07/28
投稿数: 17
投稿日時: 2006-05-01 12:56
もしもし様
じゃんぬねっと様

ご返信ありがとうございました。
じゃんぬねっと様の[AB-001]で指定する方法で
対応できそうです。

ありがとうございました。
まろ茶
会議室デビュー日: 2004/07/28
投稿数: 17
投稿日時: 2006-05-01 14:11
忠犬様

ご返信ありがとうございます。
なぜ出力された結果がこちらの思っていた結果と
異なっていたか良く分かりました。
1

スキルアップ/キャリアアップ(JOB@IT)