質問

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

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

役に立ちましたか?

解決

できません。

「新しいクエリ」を使用する代わりにウィンドウを開き、手動で更新します。

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

他のヒント

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

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

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

メモ帳でテキストを準備し、SSMSに貼り付けることができます。 SSMSは改行を表示しませんが、selectで確認できるように改行があります。

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

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

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

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

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

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)).

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

ロニー、

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

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

ご指摘のとおり、動作しません。

Web開発を行っている場合、レコードについては、とにかくブラウザーに改行は表示されません(余分な空白として解釈され、無視されます)。改行を

に置き換える必要がありました
<br> 

ブラウザで改行を表示したいところはどこでも(テキスト領域は使用可能な入力として改行を受け入れます)。

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

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

その後、テーブルを開き、 Ctrl + Enter を押して新しい行を入力します。

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

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

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

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

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

select '

a 

b

' 

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

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

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

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

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

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top