zoukankan      html  css  js  c++  java
  • Sqlserver UrlEncode

    Sqlserver  UrlEncode

    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UrlEncode]') and xtype in (N'FN', N'IF', N'TF'))
    -- 删除函数
    drop function [dbo].[UrlEncode]
    GO
    CREATE FUNCTION dbo.UrlEncode(@URL varchar(3072))
    RETURNS varchar(3072)
    AS
    BEGIN 
     DECLARE @count int,
    @char varchar(2),
    @i int,
    @bytes binary(2),
    @low8 int,
    @high8 int
    
    DECLARE @URLEncode varchar(3000) ;
    SET @count = LEN(@URL)
    SET @i = 1
    SET @URLEncode = ''
    WHILE (@i <= @count)
    BEGIN
     SET @char = SUBSTRING(@URL,@i,1)
     IF @char LIKE '[-A-Za-z0-9()''*._!]' AND DATALENGTH(@char) = 1
      SET @URLEncode = @URLEncode + @char
     ELSE
     BEGIN
      IF DATALENGTH(@char) = 1
      BEGIN
       SET @URLEncode = @URLEncode + '%' + SUBSTRING('0123456789ABCDEF',(ASCII(@char) / 16 + 1),1)
       SET @URLEncode = @URLEncode + SUBSTRING('0123456789ABCDEF',(ASCII(@char) % 16 + 1),1)
      END
      ELSE
      BEGIN
       SET @bytes = CONVERT(binary,@char)
       SET @high8 = (0xFF00 & CAST(@bytes AS int))/256
       SET @low8 = 0x00FF & CAST(@bytes AS int)
       SET @URLEncode = @URLEncode + '%' + SUBSTRING('0123456789ABCDEF',(@high8 / 16 + 1),1)
       SET @URLEncode = @URLEncode + SUBSTRING('0123456789ABCDEF',(@high8 % 16 + 1),1)
       SET @URLEncode = @URLEncode + '%' + SUBSTRING('0123456789ABCDEF',(@low8 / 16 + 1),1)
       SET @URLEncode = @URLEncode + SUBSTRING('0123456789ABCDEF',(@low8 % 16 + 1),1)
      END
     END
     SET @i = @i + 1
     
    END
        RETURN @URLEncode;
    END
    
  • 相关阅读:
    局部组件
    flex布局
    Websocket
    关于Javascript夜里再来分析下
    go build、go mod等命令
    websocket
    FileSystemWatcher使用
    DataGridView双缓冲
    C#读INI文件
    c 通过 COM接口调用 Excel.Application 问题终于解决
  • 原文地址:https://www.cnblogs.com/LittleFeiHu/p/9552673.html
Copyright © 2011-2022 走看看