zoukankan      html  css  js  c++  java
  • binary、char类型数据互转函数

    最近在做项目时,需要把binary类型数据转换成字符类型的数据,发现原来可以这样写,记录下来供需要的童靴参考。

    IF OBJECT_ID('fn_BinaryToChar') IS NOT NULL
    DROP FUNCTION fn_BinaryToChar
    GO

    /* =============================================
    -- 作者: Haytor
    -- 日期: 2015-09-09
    -- 描述: 把16进制数据转换成字符串数据
    -- 示例:

    DECLARE @varBin VARBINARY(128)
    SET @varBin = 0x530054004400300030003100
    --SELECT dbo.Fun_ConvertVarBinaryToVarChar(@varBin) --老方法
    SELECT dbo.fn_BinaryToChar(@varBin)


    -- =============================================
    */
    CREATE FUNCTION fn_BinaryToChar(
    @varBin VARBINARY(MAX)
    ) RETURNS VARCHAR(MAX) AS
    BEGIN
    DECLARE @varChar VARCHAR(MAX)

    SET @varChar = CAST('' AS XML).value('xs:hexBinary(sql:variable("@varBin") )', 'varchar(max)')

    RETURN @varChar
    END
    GO


    IF OBJECT_ID('fn_CharToBinary') IS NOT NULL
    DROP FUNCTION fn_CharToBinary
    GO
    /* =============================================
    -- 作者: Haytor
    -- 日期: 2015-09-09
    -- 描述: 把成字符串数据转换成16进制数据
    -- 示例:

    DECLARE @varChar VARCHAR(128)
    SET @varChar = '530054004400300030003100'
    SELECT dbo.fn_CharToBinary(@varChar)

    -- =============================================
    */
    CREATE FUNCTION fn_CharToBinary(
    @varChar VARCHAR(MAX)
    ) RETURNS VARBINARY(MAX) AS
    BEGIN
    DECLARE @varBin VARBINARY(MAX)
    DECLARE @i INT

    SET @i = CHARINDEX('0x',@varChar)

    IF @i > 0
    SET @varBin = CAST('' AS XML).value('xs:hexBinary(substring(sql:variable("@varChar"),3))', 'varbinary(max)')
    ELSE
    SET @varBin = CAST('' AS XML).value('xs:hexBinary(sql:variable("@varChar"))', 'varbinary(max)')

    RETURN @varBin
    END
    GO

  • 相关阅读:
    Python操作Excel
    unittest单元测试生成HTML测试报告
    pycharm安装 package报错:module 'pip' has no attribute 'main'
    Jenkins关闭、重启,Jenkins服务的启动、停止方法。
    selenium如何获取已定位元素的属性值?
    本周学习小结(23/03
    本周学习小结(16/03
    本周学习小结(09/03
    本周学习小结(02/03
    本周学习小结(24/02
  • 原文地址:https://www.cnblogs.com/szliuhb/p/4796930.html
Copyright © 2011-2022 走看看