- PR -

SQLで改行を含む項目に関して

1
投稿者投稿内容
のの
ベテラン
会議室デビュー日: 2004/11/10
投稿数: 88
投稿日時: 2005-10-27 12:29
 
 お世話になります。

 SQLのクエリで、改行を含む項目に関して
 改行を無効化した状態で取得することは可能でしょうか?

 たとえば、テーブルAの項目1(データ型はtext)の内容が・・・
  =======
   あ
   あ
   あ
  =======
 のように、改行を含んだ状態で格納されていた場合に、

  select * from [テーブルA] where [項目1] = 'あああ'

 といった感じのクエリで取得するにはどうしたら良いのでしょうか?
 なにか良い方法がありましたら宜しくお願いします
 
 環境は、SQLServer2000です。

 よろしくおねがいします




でっち6号
大ベテラン
会議室デビュー日: 2005/01/31
投稿数: 176
お住まい・勤務地: Kawasaki
投稿日時: 2005-10-27 13:00
こんにちは、でっちです。

今手元にSQLServerの環境がないので未検証ですが、Replace関数で改行を空に置き換えれば良いのではないでしょうか?

Replace([項目1], Chr(13) || Chr(10), '')

含まれる改行コードがCr+Lfだったり、Lfだけだったりする場合は、二重にして下さい。

Replace(Replace([項目1], Chr(13), ''),Chr(10), '')
水谷
会議室デビュー日: 2004/05/07
投稿数: 17
お住まい・勤務地: 福島県
投稿日時: 2005-10-27 13:06
text型には直接 REPLACE できないので、CAST または CONVERT で変換してからでっち6号さんの方法で可能だと思います。
のの
ベテラン
会議室デビュー日: 2004/11/10
投稿数: 88
投稿日時: 2005-10-27 13:18

返信ありがとうございます。

 ご教授いただきましたとおり、SQLクエリアナライザで行うと・・・

  ・・・  ”'chr' は 関数名 として認識されません。”
 
 というエラーメッセージが表示されてしまいます。

 また、実際はASPのVBScriptで行うのですが、

 こういった記述ではダメなんでしょうか?

"select * fron テーブルA where REPLACE(項目1)," & chr(13) & ",'')='あああ'"


 よろしくお願いします



 
今川 美保(夏椰)
ぬし
会議室デビュー日: 2004/06/10
投稿数: 363
お住まい・勤務地: 神奈川県茅ヶ崎市
投稿日時: 2005-10-27 13:28
引用:

ののさんの書き込み (2005-10-27 13:18) より:
  ・・・  ”'chr' は 関数名 として認識されません。”


SQL Serverですと「char」ですよね。
Transact-SQL リファレンス のCHARを参照してください。
のの
ベテラン
会議室デビュー日: 2004/11/10
投稿数: 88
投稿日時: 2005-10-27 14:25

 皆様、ご教授ありがとうございましたm(_ _)m

 お教えとおりに記述したところ、
 無事、目的を達成することができました。


 また何かありましたら宜しくお願い致します。
1

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