sql server里将十六进制转换成十进制
在网上找了很多,总是不知道怎么用,于是自己写了一个:
declare @strHex char(5),
@len int,
@intOut int,
@i int,
@charint int
set @strHex = '20'
set @len = len(rtrim(@strHex))
set @i = 1
set @intOut = 0
while @i <= @len
begin
set @charint = case substring(upper(rtrim(ltrim(@strHex))),@i,1)
when 'A' then 10
when 'B' then 11
when 'C' then 12
when 'D' then 13
when 'E' then 14
when 'F' then 15
else substring(@strHex,@i,1)
end
set @intOut = @intOut +@charint * power(16, @len-@i)
set @i = @i + 1
end
print @intOut
由于要批量修改,帮写成了游标的形式:
use pubs
declare @strHex char(5),
@len int,
@intOut int,
@i int,
@charint int,
@keyname char(50)
declare hextoint cursor for
select rtrim(col001),rtrim(col002) from vv
open hextoint
fetch next from hextoint into @keyname,@strHex
while @@fetch_status =0
begin
set @len = len(rtrim(@strHex))
set @i = 1
set @intOut = 0
while @i <= @len
begin
set @charint = case substring(upper(rtrim(ltrim(@strHex))),@i,1)
when 'A' then 10
when 'B' then 11
when 'C' then 12
when 'D' then 13
when 'E' then 14
when 'F' then 15
else substring(@strHex,@i,1)
end
set @intOut = @intOut +@charint * power(16, @len-@i)
set @i = @i + 1
end
update vv set col002 = @intout where col001 = rtrim(@keyname)
--print @intOut
fetch next from hextoint into @keyname,@strHex
end
close hextoint
deallocate hextoint
记以下留作以后参考吧。
相关文档:
Truncate Logs for SQL Server 2008
I had previously posted how to Truncate Logs for SQL Server 2005. Unfortunately, this method does not work in SQL Server 2008. The reason is because the “WITH TRUNCATE_ONLY” command is no longer in SQL 2008. Assuming you run in full recovery mode, the n ......
本译文采用知识共享署名-非商业性使用-相同方式共享 3.0 Unported许可协议发布,转载请保留此信息
译者:马齿苋 | 链接:http://www.dbabeta.com/2010/oracle-sql-server-comparison-i.html
作者:Sadequl Hussain | 原文:http://www.sql-server-performance.com/articles/dba/oracle_sql_server_comparison_p1.aspx
一 ......
sql server 2000导出表结构
1.
SELECT
表名=case when a.colorder=1 then d.name else '' end,
表说明=case when a.colorder=1 then isnull(f.value,'') else '' end,
字段序号=a.colorder,
字段名=a.name,
标识=case when COLUMNPROPERTY( a.id, ......
一、什么是SQL注入式攻击?
所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。常见的SQL注入式攻击过程类如: ......
一直以来对于SQL的查询都没怎么在意,今天遇到一个关于左连接查询的问题。
Select uId ,uName,dpName
from users
left join dpart
on users.pid=1 where u.pid=dpart.pid
结果是把users所有结果查询出来,而不是pid为1的用户
原来on后面必须放连接条件,其他的条件放在where里面
感谢夏欢提出 ......