SQL中如何将一个十进制数转换成16进制数,然后只显示16进制数的整数部分

例如selectCONVERT(varbinary,17)得到的结果是0x00000011,但是我只需要显示11就行了,求教各位高手,小弟比较着急。... 例如 select CONVERT(varbinary,17) 得到的结果是0x00000011,但是我只需要显示11就行了,求教各位高手,小弟比较着急。 展开
 我来答
百度网友e7b6a5ad0
推荐于2016-06-27 · TA获得超过175个赞
知道小有建树答主
回答量:222
采纳率:100%
帮助的人:214万
展开全部
select replace(ltrim(replace(replace((
master.dbo.fn_varbintohexstr(
cast(
CONVERT(bigint, col1) as binary )) 
COLLATE Latin1_General_CI_AS_KS_WS ),0,' '),'x',' ')),' ','0')
from table
更多追问追答
追问
请问
replace((
master.dbo.fn_varbintohexstr(cast(CONVERT(bigint, col1) as binary ))
COLLATE Latin1_General_CI_AS_KS_WS ),0,' ')
这段我没有看明白。
这个COLLATE 是怎么用的?
追答

吧0转换为空格

然后吧x转换为空格

然后用ltrim删除空格

然后吧剩余的空格转换为0

其余的函数请百度,讲解比较慢发

COLLATE Latin1_General_CI_AS_KS_WS这个删了也没关系不影响的

select replace(ltrim(replace(replace((
master.dbo.fn_varbintohexstr(
CONVERT(bigint, col))  ),0,' '),'x',' ')),' ','0')
from table
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式