
検索したいデータに空白がある時空白のない検索文字列でlike検索して
データがヒットするようにしたいです
col1
NTTデ ー タ
NTTデ - タ シ ス テ ム ズ
NTTデ ー タ ク オ リ テ ィ
日立製作所
IBM
このようなカラムのデータが入っているとします
※空白を含むデータや空白を含まないデータがあるとします
これを select * from table1 where col1 like '%NTTデータシス%'
とするとNTTデ ー タ シ ス テ ム ズが検索されるようにしたいと思っています。
replace関数を使って実現しようと思ったのですが
SELECT REPLACE(col1,' ','') as col1 From table1 where col1 like '%システムズ%'
これだとデータがヒットせず単純に表示するときに空白が削除されるだけです
どうすれば空白を含むデータを検索することができるでしょうか
できれば全角・半角両方を含む文字のデータでも検索できるようにしたいです
SQLServer 2005を利用しています。
No.1ベストアンサー
- 回答日時:
>SELECT REPLACE(col1,' ','') as col1 From table1 where col1 like '%システムズ%'
SELECT句とWHERE句は別物です。以下のようにWHERE句でREPLACEを指定してください。
※SQLの解釈上、WHERE句が先に解釈されて対象データを特定しSELECT句の指示に従いデータを抽出します。
SELECT REPLACE(col1,' ','') as col1 From table1 where REPLACE(col1,' ','') like '%システムズ%'
create table table1
(
col1 varchar(100)
);
insert into table1 values('NTTデ ー タ');
insert into table1 values('NTTデ - タ シ ス テ ム ズ');
insert into table1 values('NTTデ ー タ ク オ リ テ ィ');
insert into table1 values('日立製作所');
insert into table1 values('IBM');
SELECT REPLACE(col1,' ','') as col1 From table1 where col1 like '%システムズ%';
col1
------------------
(0 行処理されました)
SELECT REPLACE(col1,' ','') as col1 From table1 where REPLACE(col1,' ','') like '%システムズ%';
col1
------------------
NTTデ-タシステムズ
(1 行処理されました)
>できれば全角・半角両方を含む文字のデータでも検索できるようにしたいです
SQL Serverの設定は「全角半角を区別する」になってますか?
区別しない設定なら、そのままでOKです。
区別する設定になっているならREPLACEを二度がけすればよいと思います。
where REPLACE(REPLACE(col1,' ',''),' ','') like '%システムズ%'
No.2
- 回答日時:
これでいかがでしょうか。
select * from table1 where replace(replace(col1,' ',''),' ','') like '%NTTデータシス%'
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLのエラー(~付近に不適切な...
-
ACCESS2007 フォーム 「バリア...
-
SQLCMDにて教えていただきたい...
-
sqlserverでUPDATEできません
-
sqlserverで集計結果をUPDATEし...
-
SQLサーバー接続 特定のPCがWin...
-
SQL Date型の列から年月だけを...
-
【VB.NET】日付型の列にNULLを...
-
Visuaal Studio Community 2022...
-
【SQLサーバ】float型における...
-
生え際から顎先まで17.5 頭頂か...
-
Accessの重複なしのカウントの...
-
SQL文 複数実行
-
SQLのジョブからのEXCEL出力
-
SQLserver 画像保存
-
BULK INSERT時のNull許容について
-
SQL EXCEL VBA 接続
-
Microsoft SQL Serverについて
-
Wacom Cintiq 16 と Wacom Cint...
-
SQLをはじめから勉強するには
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VIEWに対してWHERE句をつける
-
空白文字を含む文字列データの検索
-
count()の結果を別の計算で使う...
-
Mysqlで「"A"以外を選択」でき...
-
複数テーブルの集計
-
SQL文でエラーが出ます。
-
コマンドプロンプト 複数の実...
-
mysql insertのselect
-
MySQLのデータが表示されない。
-
Mysql 同一テーブルの複数「別...
-
基本情報
-
JOIN使ってないのに、JOIN操作...
-
コマンドプロンプト 実行結果...
-
mysqlで異なるテーブルの文字列...
-
複数の条件がある場合のsqlの書...
-
Mysql 参照 計算
-
Null値が入れられない
-
NULLを含む列の足し算
-
nullと同じく空白をCountしない...
-
mysqlのselectについて
おすすめ情報