sql 服务器 select 作为 base64 列

sql server select as base64 column

有没有简单的函数可以得到这个输出。

SELECT Title FROM Table WHERE Id = 1 
---- My title

期望函数等...

SELECT MYBASE64ENCODE(Title) FROM Table WHERE Id = 1 
---- TXkgdGl0bGU=

我需要将 ecnode 字符串转为 base64 的函数。

如果答案是 this 那么如何将我的列作为查询的输入。

也许可以创建一个类似这样的用户定义函数......

CREATE FUNCTION dbo.get_base64Coded (@Input nvarchar(4000))
RETURNS  nvarchar(4000)
AS
BEGIN
  Declare @Output nvarchar(4000);

SELECT
   @Output = CAST(N'' AS XML).value(
          'xs:base64Binary(xs:hexBinary(sql:column("value")))'
        , 'VARCHAR(MAX)')   
FROM (
       SELECT CAST(@Input AS VARBINARY(MAX)) AS value
     ) AS A;
  RETURN @Output      
END

您的查询类似于...

SELECT dbo.get_base64Coded(Title) FROM Table WHERE Id = 1