Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да видя пълното съдържание на текстова или varchar(MAX) колона в SQL Server 2008 Management Studio?

SSMS позволява само неограничени данни за XML данни. Това не е по подразбиране и трябва да бъде зададено в опциите.

Един трик, който може да работи при доста ограничени обстоятелства, е просто да наименувате колоната по специален начин, както е по-долу, така че да се третира като XML данни.

DECLARE @S varchar(max) = 'A'

SET @S =  REPLICATE(@S,100000) + 'B' 

SELECT @S as [XML_F52E2B61-18A1-11d1-B105-00805F49916B]

В SSMS (поне версии от 2012 до текуща от 18.3) това показва резултатите, както е показано по-долу

Щракването върху него отваря пълните резултати в XML визуализатора. Превъртането вдясно показва, че последният знак от B е запазен,

Това обаче има някои значителни проблеми. Добавянето на допълнителни колони към заявката прекъсва ефекта и всички допълнителни редове се свързват с първия. И накрая, ако низът съдържа знаци като < отварянето на XML визуализатора е неуспешно с грешка при синтактичен анализ.

По-стабилен начин за това, който избягва проблеми с преобразуването на SQL Server на < до < и т.н. или неуспех поради тези знаци е по-долу (кредит Адам Мачаник тук).

DECLARE @S varchar(max)

SELECT @S = ''

SELECT @S = @S + '
' + OBJECT_DEFINITION(OBJECT_ID) FROM SYS.PROCEDURES

SELECT @S AS [processing-instruction(x)] FOR XML PATH('')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Конфигуриране на известия за поща в базата данни в MS SQL Server

  2. Неемоционален логически поглед към конвенциите за именуване на SQL Server

  3. Как да предадете низов масив в SQL параметър към IN клауза в SQL

  4. Инсталиране стъпка по стъпка на SQL Server 2017 -1

  5. Моментни снимки на базата данни на SQL Server -3