遇到一个SQL2000自定义函数错误问题。大神们帮忙看看 sql服务器function 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 set @str=N+ 由于我现在主要是做数据库了,因此以后接触更多的是SQL Server方面的东西。这篇博客主要讲的是SQL Server中的 varchar和varbinay之间相互转换的问题,二进制数据在SQL Server中是作为十六进制显示的,那么这个问题举个栗子就是给你一个例如‘0x12abcd’这样的字符串或者十六进制数据,你要将它转换为‘0x12abcd’对应的十六进制数据或者是字符串,这个问题咋看上去很简单,但做起来是有些难度的(当然大牛除外了),因为考虑到十六进制数据在内存中的存放方式和字符串不一样,所以处理起来要费劲一些。接下来我介绍一种比较简单的方法,首先介绍从varchar数据转换到varbinary数据的方法,这个方法个人觉得比较巧妙,因为它用到了SQL Server中的sp_executesql的方法,它可以方便的帮我们解决眼前的问题。解决办法是这样的: declare @str nvarchar(1000),@a varbinary(500),@sql nvarchar(max) set @str=N'0x12abcd' set @sql=N'set @p='+@str+N';' exec sp_executesql @sql, N'@p as varbinary(500) output', @p=@a output select @a=======================================我是参考上面的内容做的 nvarchar转varbinary 把 Convert 前面的 N+ 去掉。N'0x12abcd' 中的前缀 N 表示字符串是 nvarchar() 类型,不是变量。 如何分组取第一条数据? 问一个sql分列的问题 不同服务器批量插入数据 SQL服务怎么手动操作? smalldatetime类型的数据如何比较大小 安装SQL2000 个人版的时候遇到的问题 进来看看 谢谢!! 微博 转发 功能 数据库设计 sql server表中为何不能删除记录?急救!!! sql如何选出相同日期的第一条数据 如何删除表中重复记录?? SQL中CDBVariant值特定类型取出。 SQL 求帮忙
set @str=N'0x12abcd'
set @sql=N'set @p='+@str+N';'
exec sp_executesql @sql,
N'@p as varbinary(500) output',
@p=@a output
select @a
=======================================
我是参考上面的内容做的 nvarchar转varbinary
N'0x12abcd' 中的前缀 N 表示字符串是 nvarchar() 类型,不是变量。