2016-09-02 11 views
1

私はnvarchar(100)として定義されている列を持っています。SQLでキーの問題を入力してください

オフィスユーザーがEnterキーを間違って押すと、アプリケーションによっては問題が発生することがあります。値を確認すると、のダブルスペース文字がSQL Serverのように見えます。今私の使命はこのような状況の記録を見つけることです。私は問題のあるレコードを見つけるために以下のコードを試しました:

DECLARE @NewLineChar AS CHAR(2) = CHAR(10) + CHAR(13); 

SELECT * 
FROM TBLCASABIT 
WHERE CARI_ISIM LIKE '%'+CHAR(10) + CHAR(13)+'%' 

しかし、私は必要なレコードを返しません。

ダブルスペース文字私が入れたテストレコードが表示され、他のレコードにはダブルスペース文字が表示されます。他のレコードが同じ状況にあるかどうかはわかりません。

どうすればこのような状況に対処できますか?どんな助けもありがとう。

+1

"ダブル空白文字" とは何ですか? AFAIKには、改行、改行、改行、またはこれらの組み合わせのみがあります。 –

+0

@TimBiegeleisen ""(空白文字2回) – CanESER

+0

現在のクエリで返されるレコードは何ですか? –

答えて

0

CHAR(10)CHAR(13)の順番が逆転していると思います。ここではこれらの文字のそれぞれが何であるかをされています。それだけでUnixの\nで行末として解釈されている間のWindowsでは

CHAR(13) - carriage return, or \r 
CHAR(10) - line feed, or \n 

\r\nは、行末です。だから、CHAR(13)の直後にCHAR(10)を探して、それ以外の方法で検索しないといけません。次のクエリを試してみてください。

SELECT * 
FROM TBLCASABIT 
WHERE CARI_ISIM LIKE '%' + CHAR(13) + CHAR(10) + '%' 

参考文献:

+0

私もそれを試しましたが、まだ同じです:(レコードが返されません)また、これを伝えるのに役立ちます。使用しているアプリケーションから挿入したテストレコードは、おそらく表の中で定義されているデータ型についてです。 – CanESER

+0

あなたはそこにある空白の種類を確認するために何か努力しましたか? –

+0

はい私もテキストデータ型を試していますが、それでも同じです。 SQLのように改行を使用させないように思われる – CanESER

関連する問題