SQL查询周期

时间:2014-04-02 13:13:36

标签: sql sql-server

我有以下查询带我:Extensão数据 我的查询:

DECLARE @extensaoX VARCHAR(50)

SELECT  @extensaoX = RIGHT(Extensão,3) FROM [BD_Teste2].[dbo].[Users] WHERE Extensão <>'' AND ISNUMERIC([Extensão]) = 1

SELECT CONVERT(VARBINARY(128), CAST(@extensaoX AS BIGINT))

结果:

(No column name)

0x000000014BBF0767

我的问题(难度),我需要转换所有字段,但我不知道如何.. 有些循环运行表并转换数据吗?

Extensão   (No column name)

123        0x000000014BBF0767 

213        ?????????????

345        ?????????????

1 个答案:

答案 0 :(得分:1)

试试这个:

SELECT
    CAST(RIGHT(Extensão,3) AS BIGINT) as Extensão,
    CONVERT(VARBINARY(128), CAST(RIGHT(Extensão,3) AS BIGINT))
FROM [BD_Teste2].[dbo].[Users]
WHERE Extensão <>''
  AND ISNUMERIC([Extensão]) = 1

也许你需要这个?

SELECT
    CAST(RIGHT(Extensão,3) AS BIGINT) as Extensão,
    CONVERT(VARBINARY(128), CAST(RIGHT(Extensão,3) AS BIGINT))
FROM [BD_Teste2].[dbo].[Users]
WHERE Extensão  NOT NULL
  AND ISNUMERIC(RIGHT(Extensão,3)) = 1