- - PR -
SQLで改行を含む項目に関して
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2005-10-27 12:29
お世話になります。 SQLのクエリで、改行を含む項目に関して 改行を無効化した状態で取得することは可能でしょうか? たとえば、テーブルAの項目1(データ型はtext)の内容が・・・ ======= あ あ あ ======= のように、改行を含んだ状態で格納されていた場合に、 select * from [テーブルA] where [項目1] = 'あああ' といった感じのクエリで取得するにはどうしたら良いのでしょうか? なにか良い方法がありましたら宜しくお願いします 環境は、SQLServer2000です。 よろしくおねがいします | ||||
|
投稿日時: 2005-10-27 13:00
こんにちは、でっちです。
今手元にSQLServerの環境がないので未検証ですが、Replace関数で改行を空に置き換えれば良いのではないでしょうか? Replace([項目1], Chr(13) || Chr(10), '') 含まれる改行コードがCr+Lfだったり、Lfだけだったりする場合は、二重にして下さい。 Replace(Replace([項目1], Chr(13), ''),Chr(10), '') | ||||
|
投稿日時: 2005-10-27 13:06
text型には直接 REPLACE できないので、CAST または CONVERT で変換してからでっち6号さんの方法で可能だと思います。
| ||||
|
投稿日時: 2005-10-27 13:18
返信ありがとうございます。 ご教授いただきましたとおり、SQLクエリアナライザで行うと・・・ ・・・ ”'chr' は 関数名 として認識されません。” というエラーメッセージが表示されてしまいます。 また、実際はASPのVBScriptで行うのですが、 こういった記述ではダメなんでしょうか? "select * fron テーブルA where REPLACE(項目1)," & chr(13) & ",'')='あああ'" よろしくお願いします | ||||
|
投稿日時: 2005-10-27 13:28
SQL Serverですと「char」ですよね。 Transact-SQL リファレンス のCHARを参照してください。 | ||||
|
投稿日時: 2005-10-27 14:25
皆様、ご教授ありがとうございましたm(_ _)m お教えとおりに記述したところ、 無事、目的を達成することができました。 また何かありましたら宜しくお願い致します。 | ||||
1
