
検索したいデータに空白がある時空白のない検索文字列で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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- その他(プログラミング・Web制作) pythonリストの特定の値を表示htmlで表示できない 2 2022/05/14 05:48
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Excel(エクセル) Excel 値を返す数式についてです 3 2022/11/21 20:08
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Excel(エクセル) [オートフィルター]機能について 3 2023/02/04 14:32
- その他(開発・運用・管理) MacのPCでわファイルを検索したくて、右上の虫眼鏡で検索をかけますが、EPSデータが何故か検索デー 2 2022/10/25 10:29
- Excel(エクセル) スプレットシートでA1~G1にデータが入っていて、 それを1列ずつ空けて表示する関数がわかる方いまし 4 2022/08/25 09:39
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLのエラー(~付近に不適切な...
-
SQLサーバー接続 特定のPCがWin...
-
ACCESS2007 フォーム 「バリア...
-
SQL Date型の列から年月だけを...
-
sqlserverで集計結果をUPDATEし...
-
Accessの重複なしのカウントの...
-
Microsoft SQL Serverについて
-
SQLのクエリの書き方
-
【VB.NET】日付型の列にNULLを...
-
SQL文 複数実行
-
<SQL>重複しているデータの場合...
-
ストアドプロシージャのRETURN...
-
BULK INSERT時のNull許容について
-
SQL 不要な文字列を削除したい
-
SQLserver セル内での改行って...
-
SQL クエリ データ数
-
[SQLServer] テーブル名からカ...
-
DTexec でSSISパッケージを実行...
-
SQLSERVERのデータファイル圧縮...
-
SQLサーバで和暦から西暦に変換...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VIEWに対してWHERE句をつける
-
空白文字を含む文字列データの検索
-
JOIN使ってないのに、JOIN操作...
-
コマンドプロンプト 複数の実...
-
MySQL + PHP での自動採番
-
count()の結果を別の計算で使う...
-
レコード全加算
-
基本情報
-
SQLのエイリアス
-
複数のカラムを対象にしたプラ...
-
Mysql 同一テーブルの複数「別...
-
Mysqlで「"A"以外を選択」でき...
-
複数テーブルの集計
-
Null値が入れられない
-
nullと同じく空白をCountしない...
-
NULLを含む列の足し算
-
SQLでLIMIT句を入れるとエラー...
-
MySQLの特定のカラムの内容を全...
-
SELECT文の二段重ね
-
SQL文を入力したらエラー
おすすめ情報