web-dev-qa-db-ja.com

SQL Server Management Studioで改行文字を入力する方法

開いているデータテーブルの「datagrid」ビューで、SSMSのnvarcharフィールドに改行文字を直接入力するにはどうすればよいですか?

代替コードはありますか?

38
Ronnie Overby

できません。

代わりに「新しいクエリ」ウィンドウを使用して、手動更新を実行します。

UPDATE mytable
SET textvalue = 
'This text
can include
line breaks'
WHERE rowid = 1234
29
BradC

UNIXスタイルの行末(CR + LF)を使用するテキストエディターから行を貼り付けることができます。 Notepad ++を使用します。最初に設定/環境設定/新しいドキュメントに移動し、形式をWindowsからUnixに変更します。次に、新しいドキュメントを開き、行を入力して、SSMSにコピーします。

16
markltx

メモ帳でテキストを準備し、SSMSに貼り付けることができます。 SSMSは改行を表示しませんが、選択すると確認できるため、改行は表示されます。

select *
from YourTable
where Col1 like '%' + char(10) + '%'
9
Andomar

char(13)またはchar(10)のいずれかが機能します。ただし、char(13)+ char(10)を使用することをお勧めします

  • char(10)=\n-改行
  • char(13)=\r-行の先頭に移動
8
tecfield

最初は問題が発生しました(理由はわかりません)が、最終的にSQL Server 2008のSSMSを使用するために次のことができました。

Varchar型の列のテキストの必要な場所にALT-13を挿入してからALT-10を挿入します(行を離れると音楽記号と四角が表示され、保存されます)。最初に、行を離れると、行の左側に警告(!)が表示されます。 SELECTステートメントを再実行するだけです。シンボルと警告は消えますが、CR/LFは保存されます。 HTMLでテキストを適切に表示するには、ALT-13を must 含める必要があります。これが機能したかどうかをすばやく判断するには、保存したテキストをSSMSからメモ帳にコピーします。

あるいは、これが機能しない場合は、nvarchar列から始めて同じことを行うことができます。ただし、シンボルはテキストとして保存されるため、シンボルのCR/LFへの変換が完了したら、列をvarcharに must に変換する必要があります。

別のソース(別の行またはテーブル、HTML、メモ帳など)からテキストをコピーして貼り付け、最初のCRでテキストが切り捨てられないようにする場合、次のリンクで解決策(プログラマーのメモ帳)が参照されていることがわかりましたvarcharおよびnvarchar列タイプを使用して、SQL Server 2008のSSMSで動作します。

http://dbaspot.com/sqlserver-programming/409451-how-i-enter-linefeed-when-modifying-text-field-2.html#post1523145

投稿の著者(dbaspot)は、SQLクエリの作成について何か言及しています-彼の意味はわかりません。プログラマーのメモ帳に関する指示に従うだけで、SSMSとの間でテキストをコピーして貼り付け、両方の方法でLFを保持できます(メモ帳ではなく、プログラマーのメモ帳を使用)。テキストをHTMLで適切に表示するには、SSMSにコピーされたテキストにCRを追加する必要があります。これを行う最良の方法は、REPLACE関数を使用してUPDATEステートメントを実行し、次のようにCRを追加することです。

UPDATE table_name
SET column_name = REPLACE(column_name , CHAR(10), CHAR(13) + CHAR(10)).
2
mario

どこでも何でもINSERT 'a' + Char(10)+ 'b' INTOを使用します

1
Dour High Arch

ロニー、

データグリッドは、ALT + 010の使用を含む、改行文字を貼り付けようとする試みをすべて飲み込んでいるように見えます。 Microsoftは、役立つショートカットキーをリストしていません。通常の容疑者

<ctrl>enter, 
<alt> enter, 
<ctrl><alt> enter, 
<shift> enter, etc

あなたが指摘したように、動作しません。

記録のために、あなたがウェブ開発をしている場合、ラインフィードはブラウザに表示されません(それらは余分な空白として解釈され、無視されます)。改行を

<br> 

ブラウザで改行を表示したかったすべての場所(テキスト領域は使用可能な入力として改行を受け入れます)。

改行を挿入できたとしても、SSMSのデータグリッドビューでは改行を表示できないと思います。

1
Robert Harvey

このisは、行または別の行に既存の改行文字がある場合に可能です。

既存の改行文字を表す四角形のボックスを選択し、コピー(control-C)してから、目的の場所に貼り付け(control-V)します。

これは少し安っぽいですが、実際にはSSMS 2008で機能するようになり、他の提案(control-enter、alt-13、またはalt-##)を機能させることができませんでした。

1
Solomon Rutzky

代わりにMS Accessを使用してみてください。新しいファイルを作成し、「既存のデータを使用してプロジェクト」テンプレートを選択します。これにより、.adpファイルが作成されます。

次に、テーブルを開いて Ctrl+Enter 新しい行。

クリップボードからの貼り付けも正しく機能します。

1
Pavel Chuchuva

再現性のない更新を行う簡単な方法は、MS Accessを使用してリンクテーブルを作成し、必要に応じてデータを更新することです。 MS AccessチームはSMSSチームと話をしないと思います:)

0
DaBomb

テーブルを右クリックして、「上位50行を編集」を選択するということですね。

[Ctl] [Enter]と[Alt] [Enter]を試しましたが、どちらも動作しません。

(標準のINSERTステートメントを使用して)CR/LFを使用してデータを挿入する場合でも、制御コードを表す長方形が1行で表示されます。

0
Rob Garrison

Excelシートを使用して改行文字を入力してみました。 Excelの空白セルの下に「abc」と入力してデータを入力し、「abc」を含むセルの上にある空のセルとデータのあるセルを使用してdbを更新しました。 SSMSに両方のセルを貼り付けてコピーします。それは私のために働いた

0
user7671497

グリッドビューのテーブルにデータを直接入力しようとしている場合(おそらく、TableNameを右クリックし、[テーブルを開く]を選択します)、Unicodeテキスト文字列を入力できます。テンキー。

Alt + 13です。これは数字キーパッドからのみ機能し、キーボード上部の数字キーでは機能しません。改行は正方形として保存されます

0
Raj

これは私のために働きます(結果をテキストとして表示-グリッドが改行を非表示にする結果)

select '

a 

b

' 
0
Jimmy