[sql] SQL Server에서 varbinary를 문자열로

어떻게에서 열 값을 변환 varbinary(max)varchar사람이 읽을 수있는 형태로?



답변

“는 변환 varbinary을하는 것은 varchar“다른 것을 의미 할 수있다.

VARBINARY는 SQL Server에서 문자열의 이진 표현 인 경우 (예를 들어 캐스트에 의해 반환 varbinary직접 또는에서 DecryptByPassPhrase또는 DECOMPRESS당신은 그냥 할 수있는 기능) CAST

declare @b varbinary(max)
set @b = 0x5468697320697320612074657374

select cast(@b as varchar(max)) /*Returns "This is a test"*/

이는 CONVERT스타일 매개 변수와 함께 사용하는 것과 같습니다 0.

CONVERT(varchar(max), @b, 0)

CONVERT다른 답변에 명시된대로 다른 요구 사항에 대해 다른 스타일 매개 변수를 사용할 수 있습니다 .


답변

다음 표현이 저에게 효과적이었습니다.

SELECT CONVERT(VARCHAR(1000), varbinary_value, 2);

다음 은 스타일 선택에 대한 자세한 내용입니다 (세 번째 매개 변수).


답변

사실 가장 좋은 대답은

SELECT CONVERT(VARCHAR(1000), varbinary_value, 1);

2“를 사용 0x하면 varbinary.


답변

이 시도

SELECT CONVERT(varchar(5000), yourvarbincolumn, 0)


답변

A의 VARBINARY(MAX)열, 내가 사용했다 NVARCHAR(MAX):

cast(Content as nvarchar(max))

또는

CONVERT(NVARCHAR(MAX), Content, 0)
VARCHAR(MAX) didn't show the entire value


답변

나는 이것을 시도했고 그것은 나를 위해 일했다.

declare @b2 VARBINARY(MAX)
set @b2 = 0x54006800690073002000690073002000610020007400650073007400
SELECT CONVERT(nVARCHAR(1000), @b2, 0);


답변

너무 원본 게시물에 어려움을 겪고 있었기 때문에 아래에 가보세요 [여기] [1]

bcp "SELECT CAST(BINARYCOL AS VARCHAR(MAX)) FROM OLTP_TABLE WHERE ID=123123 AND COMPANYID=123"
queryout "C:\Users\USER\Documents\ps_scripts\res.txt" -c -S myserver.db.com  -U admin -P password


  [1]: https://stackoverflow.com/questions/60525910/powershell-truncating-sql-query-output?noredirect=1#comment107077512_60525910