gpt4 book ai didi

sql-server - SQL Server 将十六进制 varchar 值转换为 INT

转载 作者:行者123 更新时间:2023-12-02 05:06:42 24 4
gpt4 key购买 nike

我创建了一个 T-SQL 函数

CREATE FUNCTION dbo.GetDecimalFromHexa (@HexValue VARCHAR(10))
RETURNS INT
BEGIN
IF (CHARINDEX('0x',@HexValue) = 0)
SET @HexValue = '0x' + @HexValue
RETURN CONVERT(INT, @HexValue )
END

然后我这样调用我的函数

SELECT dbo.GetDecimalFromHexa ('0000385A')

我得到一个错误:

Conversion failed when converting the varchar value '0x0000385A' to data type int.

请指正。

[编辑]
我想得到 int 输出

最佳答案

ALTER FUNCTION [dbo].[GetDecimalFromHexa] (@HexValue VARCHAR(10))
RETURNS INT
BEGIN
IF (CHARINDEX('0x',@HexValue) = 0)
SET @HexValue = CONCAT ('0x', @HexValue)
RETURN CONVERT(INT, CONVERT(varbinary, @HexValue, 1))
END
GO

关于sql-server - SQL Server 将十六进制 varchar 值转换为 INT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16209550/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com