Rivinvaihdon lisääminen SQL Serverin VARCHAR/NVARCHAR-merkkijonoon

En nähnyt mitään vastaavia kysymyksiä, joita olisi kysytty tästä aiheesta, ja minun oli tutkittava tätä jotain, jonka parissa työskentelen juuri nyt. Ajattelin lähettää vastauksen siihen, jos jollain muulla on sama kysymys.

char(13) on CR. DOS-/Windows-tyylisille CRLF-viivaväleille tarvitaan char(13)+char(10), kuten:

'This is line 1.' + CHAR(13)+CHAR(10) + 'This is line 2.'
Kommentit (7)
Ratkaisu

Löysin vastauksen täältä: http://blog.sqlauthority.com/2007/08/22/sql-server-t-sql-script-to-insert-carriage-return-and-new-line-feed-in-code/

Yhdistät merkkijonon ja lisäät CHAR(13) rivinvaihdon haluamaasi kohtaan.

Esimerkki:

DECLARE @text NVARCHAR(100)
SET @text = 'This is line 1.' + CHAR(13) + 'This is line 2.'
SELECT @text

Tämä tulostaa seuraavan tulosteen:

Tämä on rivi 1.
Tämä on rivi 2.

Kommentit (7)

Seuraavat Google....

Koodin ottaminen verkkosivuilta:

CREATE TABLE CRLF
    (
        col1 VARCHAR(1000)
    )

INSERT CRLF SELECT 'The quick brown@'
INSERT CRLF SELECT 'fox @jumped'
INSERT CRLF SELECT '@over the '
INSERT CRLF SELECT 'log@'

SELECT col1 FROM CRLF

Returns:

col1
-----------------
The quick brown@
fox @jumped
@over the
log@

(4 row(s) affected)

UPDATE CRLF
SET col1 = REPLACE(col1, '@', CHAR(13))

Näyttää siltä, että se voidaan tehdä korvaamalla paikanvaraaja CHAR(13):lla.

Hyvä kysymys, itse en ole koskaan tehnyt sitä :)

Kommentit (4)