Domanda

Nel "datagrid" vista di una tabella di dati aperta, come posso digitare un nuovo carattere di linea in un campo nvarchar direttamente in SSMS?

Esiste un codice alt?

È stato utile?

Soluzione

Non puoi.

Utilizza una " nuova query " finestra invece, ed esegui un aggiornamento manuale:

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

Altri suggerimenti

È possibile incollare le linee da un editor di testo che utilizza terminazioni di linea in stile UNIX (CR + LF). Uso Notepad ++. Prima vai su Impostazioni / Preferenze / Nuovo documento e modifica il formato da Windows a Unix. Quindi aprire un nuovo documento, digitare le linee e copiarle in SSMS.

funzionerebbe sia char (13) che char (10). ma si consiglia di utilizzare char (13) + char (10)

  • char (10) = \ n - nuova riga
  • char (13) = \ r - vai all'inizio della riga

Puoi preparare il testo nel blocco note e incollarlo in SSMS. SSMS non visualizzerà le nuove righe, ma sono presenti, come puoi verificare con una selezione:

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

Inizialmente ho avuto problemi (non so perché) ma alla fine ho avuto il seguente per lavorare con SSMS per SQL Server 2008.

Inserisci ALT-13 quindi ALT-10 dove desiderato nel testo in una colonna di tipo varchar (il simbolo musicale e il quadrato vengono visualizzati e salvati quando lasci la riga). Inizialmente riceverai un avviso (!) A sinistra della riga dopo averlo lasciato. Riesegui semplicemente la tua istruzione SELECT. I simboli e gli avvisi scompaiono ma il CR / LF viene salvato. devi includere ALT-13 se desideri che il testo sia visualizzato correttamente in HTML. Per determinare rapidamente se ha funzionato, copia il testo salvato da SSMS a Blocco note.

In alternativa, se non riesci a farlo funzionare, puoi fare la stessa cosa iniziando con una colonna nvarchar. Tuttavia, i simboli verranno salvati come testo, quindi devi convertire la colonna in varchar quando hai finito di convertire i simboli in CR / LF.

Se vuoi copiare & amp; incollare il testo da un'altra fonte (un'altra riga o tabella, HTML, Blocco note, ecc.) e non troncare il testo al primo CR, ho scoperto che la soluzione (Blocco note del programmatore) a cui si fa riferimento al seguente collegamento funziona con SSMS per SQL Server 2008 utilizzando varchar & amp; tipi di colonna nvarchar.

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

L'autore del post (dbaspot) menziona qualcosa sulla creazione di query SQL - non sono sicuro di cosa significhi. Segui le istruzioni sul Blocco note del programmatore e puoi copiare & amp; incollare il testo da e verso SSMS e conservare gli LF in entrambi i modi (utilizzando Blocco note del programmatore, non Blocco note). Per visualizzare correttamente il testo in HTML, è necessario aggiungere CR al testo copiato in SSMS. Il modo migliore per farlo è eseguire un'istruzione UPDATE utilizzando la funzione REPLACE per aggiungere CR come segue:

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

Uso INSERISCI 'a' + Char (10) + 'b' INTO ovunque DOVE

Ronnie,

La griglia di dati sembra inghiottire qualsiasi tentativo di incollare un carattere di nuova riga, incluso l'uso di ALT + 010. Microsoft non elenca alcun tasto di scelta rapida utile. I soliti sospetti

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

non funziona, come hai sottolineato.

Per la cronaca, se si sta sviluppando il Web, gli avanzamenti di riga non verranno comunque visualizzati nel browser (vengono interpretati come spazi bianchi extra e vengono ignorati). Ho dovuto sostituire il feed di linea con

<br> 

ovunque volevo che fosse visualizzata un'interruzione di riga nel browser (le aree di testo accettano i feed di riga come input utilizzabile).

Anche se è possibile inserire un'interruzione di riga, non credo che la visualizzazione della griglia di dati in SSMS sia in grado di visualizzarla.

Prova invece a utilizzare MS Access. Crea un nuovo file e seleziona il modello 'Progetto usando dati esistenti'. Questo creerà il file .adp.

Quindi apri semplicemente il tuo tavolo e premi Ctrl + Invio per la nuova riga.

Anche incollare dagli appunti funziona correttamente.

Questo è possibile se si dispone di un carattere Newline esistente nella riga o in un'altra riga.

Seleziona la casella quadrata che rappresenta il carattere Newline esistente, copialo (control-C), quindi incollalo (control-V) dove vuoi che sia.

Questo è leggermente sdolcinato, ma in realtà l'ho fatto funzionare in SSMS 2008 e non sono stato in grado di far funzionare nessuno degli altri suggerimenti (control-enter, alt-13 o qualsiasi altro - ##).

questo funziona per me (Visualizza i risultati come testo - i risultati mentre la griglia nasconde le nuove righe)

select '

a 

b

' 

Stai parlando di fare clic con il tasto destro su un tavolo e selezionare " Modifica le prime 50 righe " ;, giusto?

Ho provato [Ctl] [Enter] e [Alt] [Enter], ma nessuna di queste opere.

Anche quando inserisco i dati con CR / LF (usando un'istruzione INSERT standard), vengono visualizzati qui in un'unica riga con un rettangolo che rappresenta i codici di controllo.

Se stai cercando di inserire i dati direttamente nella tabella in vista a griglia (presumibilmente fare clic con il pulsante destro del mouse su TableName e selezionare Apri tabella), puoi inserire la stringa di testo unicode e ovunque desideri un ritorno a capo digita semplicemente 13 con il tasto alt premuto nel tastierino numerico.

Sarebbe Alt + 13. Funziona solo dal tastierino numerico e non funziona con i tasti numerici nella parte superiore della tastiera. Il ritorno a capo verrà memorizzato come un quadrato

Trovo che il modo semplice per farlo per gli aggiornamenti non ripetibili sia utilizzare MS Access e creare una tabella collegata, quindi aggiornare i dati di cui hai bisogno. Immagino che il team di MS Access non parli con il team SMSS :)

Ho provato a inserire un nuovo carattere di linea usando un foglio Excel. Ho inserito i miei dati scrivendo "abc" sotto una cella vuota in Excel e quindi aggiornato il mio db usando la cella vuota sopra la cella contenente " abc " e la cella con i dati. Copio incollato entrambe le celle nel mio SSMS. Ha funzionato per me

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top