73-102-32-121-111-117-32-119-97-110-116-32-97-32-115-117-114-112-114-105-115-101-44-32-112-108-101-97-115-101-32-99-108-105-99-107-32-104-116-116-112-58-47-47-106-111-98-115-46-122-104-97-111-112-105-110-46-99-111-109-47-48-48-48-48-53-48-53-49-53-50-53-50-55-51-57-46-104-116-109SQL

解决方案 »

  1.   

    declare @s varchar(1000)
    set @s='73-102-32-121-111-117-32-119-97-110-116-32-97-32-115-117-114-112-114-105-115-101-44-32-112-108-101-97-115-101-32-99-108-105-99-107-32-104-116-116-112-58-47-47-106-111-98-115-46-122-104-97-111-112-105-110-46-99-111-109-47-48-48-48-48-53-48-53-49-53-50-53-50-55-51-57-46-104-116-109 'select char(value)
    from (
    select * from split(@s,'-')
    )t
    /*
    I
    f
     
    y
    o
    u
     
    w
    a
    n
    t
     
    a
     
    s
    u
    r
    p
    r
    i
    s
    e
    ,
     
    p
    l
    e
    a
    s
    e
     
    c
    l
    i
    c
    k
     
    h
    t
    t
    p
    :
    /
    /
    j
    o
    b
    s
    .
    z
    h
    a
    o
    p
    i
    n
    .
    c
    o
    m
    /
    0
    0
    0
    0
    5
    0
    5
    1
    5
    2
    5
    2
    7
    3
    9
    .
    h
    t
    m
    */
      

  2.   


    declare @s varchar(1000)
    set @s='73-102-32-121-111-117-32-119-97-110-116-32-97-32-115-117-114-112-114-105-115-101-44-32-112-108-101-97-115-101-32-99-108-105-99-107-32-104-116-116-112-58-47-47-106-111-98-115-46-122-104-97-111-112-105-110-46-99-111-109-47-48-48-48-48-53-48-53-49-53-50-53-50-55-51-57-46-104-116-109 'declare @str varchar(4000)
    set @str=''select @str=@str+char(value)
    from (select * from split(@s,'-'))t
    print @str
    结果:
    /*
    If you want a surprise, please click http://jobs.zhaopin.com/000050515252739.htm*/
      

  3.   

    搜噶,非常感谢啊,其中函数split是您自定义的一个函数?
      

  4.   

    是啊,可以给你代码:CREATE FUNCTION dbo.Split
    (
    @SplitString varchar(8000),-- nvarchar(4000)
    @Separator varchar(2) = ','
    )
    RETURNS @SplitStringsTable TABLE
    (
    [id] int identity(1,1),
    [value] varchar(8000)-- nvarchar(4000)
    )
    AS
    BEGIN
        DECLARE @CurrentIndex int;
        DECLARE @NextIndex int;
        DECLARE @ReturnText varchar(8000);-- nvarchar(4000)
        SELECT @CurrentIndex=1;
        WHILE(@CurrentIndex<=len(@SplitString))
        BEGIN
            SELECT @NextIndex=charindex(@Separator,@SplitString,@CurrentIndex);
            IF(@NextIndex=0 OR @NextIndex IS NULL)
                SELECT @NextIndex=len(@SplitString)+1;
           
            SELECT @ReturnText=substring(@SplitString,@CurrentIndex,@NextIndex-@CurrentIndex);        INSERT INTO @SplitStringsTable([value])
            VALUES(@ReturnText);
           
            SELECT @CurrentIndex=@NextIndex+1;
        END
        RETURN;
    END
      

  5.   

    DECLARE @str NVARCHAR(MAX)='73-102-32-121-111-117-32-119-97-110-116-32-97-32-115-117-114-112-114-105-115-101-44-32-112-108-101-97-115-101-32-99-108-105-99-107-32-104-116-116-112-58-47-47-106-111-98-115-46-122-104-97-111-112-105-110-46-99-111-109-47-48-48-48-48-53-48-53-49-53-50-53-50-55-51-57-46-104-116-109';
    SELECT NCHAR(s.[Value]) FROM dbo.[Split](@str,'-') s FOR XML PATH('');
      

  6.   

    --实在忍不住了,也写一个
    DECLARE @string VARCHAR(max)
    SET @string = '73-102-32-121-111-117-32-119-97-110-116-32-97-32-115-117-114-112-114-105-115-101-44-32-112-108-101-97-115-101-32-99-108-105-99-107-32-104-116-116-112-58-47-47-106-111-98-115-46-122-104-97-111-112-105-110-46-99-111-109-47-48-48-48-48-53-48-53-49-53-50-53-50-55-51-57-46-104-116-109'SELECT REPLACE
    (
    (
    SELECT ''+name
    FROM(SELECT string = CONVERT(XML, '<root><v>'+replace(@string,'-','</v><v>')+'</v></root>')) a
    OUTER APPLY
    (SELECT [name] = CHAR(C.v.value('.','VARCHAR(MAX)')) FROM a.string.nodes('/root/v') C(v)) b
    FOR XML PATH('')
    ),'&#x20;',' '
    )/*
    If you want a surprise, please click http://jobs.zhaopin.com/000050515252739.htm
    */
      

  7.   

    ASCII码楼主应该懂吧,其实就是讲ASCII码转为相应的字符,楼主以后遇到这样的情况要淡定,看对方想干什么,其实对方也就是纸老虎。
      

  8.   

    来个简单的。
    declare @val varchar(max),@sql varchar(max)
    set @val='73-102-32-121-111-117-32-119-97-110-116-32-97-32-115-117-114-112-114-105-115-101-44-32-112-108-101-97-115-101-32-99-108-105-99-107-32-104-116-116-112-58-47-47-106-111-98-115-46-122-104-97-111-112-105-110-46-99-111-109-47-48-48-48-48-53-48-53-49-53-50-53-50-55-51-57-46-104-116-109'
    set @sql='select char('+replace(@val,'-',')+char(')+')'
    exec( @sql)
    If you want a surprise, please click http://jobs.zhaopin.com/000050515252739.htm
      

  9.   

    set @sql='select char('+replace(@val,'-',')+char(')+')'这里的char('+replace(@val,'-',')+char(')+')'这是在循环吗 可以帮我解释一下吗
      

  10.   

    AndyHang 真是无处不在!厉害哦