易截截图软件、单文件、免安装、纯绿色、仅160KB

MSSQL 进制转换

-- 任意进制转换为10进制
-- 例 0FA 转换为 16进制 select dbo.f_BinaryToInt('0123456789ABCDEF', '0FA')
CREATE   function   dbo.f_BinaryToInt(@BinaryFormate varchar(100), @num   varchar(200))  
--@BinaryFormate 为自定义的进制格式
--@num 为要转换成10进制的自定义进制数
--16进制格式 0123456789ABCDEF
returns   DECIMAL(18, 0)
as  
BEGIN
 declare   @result   DECIMAL(18, 0), @Binary int, @V char(1), @len int, @value int
 SELECT   @result=0, @Binary = LEN(@BinaryFormate), @len = 0
 SET   @num   =   rtrim(ltrim(upper(reverse(@num))))     --为方便计算,将字符串反向
 WHILE @len < LEN(@Num)
 BEGIN
  SET @V = SUBSTRING(@num, @len + 1, 1)
  SET @value = CHARINDEX(@v, @BinaryFormate) -1
  SET @result =  @value*power(@Binary, @len) + @result
  SET @len = @len + 1
 END
 return(@result)
END
-- 10进制转换为任意进制
-- 例 250 转换为 3位16进制 select dbo.f_IntToBinary('0123456789ABCDEF', 250, 3)
CREATE   function   dbo.f_IntToBinary(@BinaryFormate varchar(100), @num   int, @len   int)  
--@BinaryFormate 为自定义的进制格式
--@num 为要转换成自定义进制的10进制数
--@len为转换后占用的位数
--16进制格式 0123456789ABCDEF
returns   varchar(200)  
as  
BEGIN
 declare   @result   varchar(200), @Binary int
 set   @result=''
 SET @Binary = LEN(@BinaryFormate)
 WHILE LEN(@result)<@len
  select   @result=substring(@BinaryFormate,@num%@Binary+1,1)+@result,@num=@num/@Binary  
 return(@result)
END


相关文档:

PHP读取MSSQL数据出现乱码的问题

PHP读取MYSQL数据库或MSSQL数据库时,有时出现乱码,这是PHP.ini中配置和.php页面编码不一致引起的。
解决办法:
1、首先,将PHP.ini中设置为default_charset = "gb2312",然后重启Apache。
   这时从数据库中提取的结果集可以正常显示中文了,但.php页面中的列名也有可能显示乱码了。这样解决,
2、然后,PH ......

MSSQL的Index也要优化。

在处理系统优化的时候,发现index使用不当的话,系统的性能不能很好发挥。
如:今天的发现的一个sql语句,经过分析,使用了2个index。但是2个index返回的记录在互相匹配过程中耗时最多。所以,即使SQL语句使用index,也不代表这个语句在性能上是很好的。 ......

修改MSSQL表所有者的两种方法

网站更换空间的时候,经常会因为MSSQL数据库名不同,导致从旧空间备份的数据库在新空间还原后无法正常使用。这时候,我们可以通过将数据库表的所有者修改为"dbo"来解决这个问题,具体的方法如下:
打开"Microsoft SQL Server"的“企业管理器”,点开要修改的数据库,选择工具栏上的“工具” ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号