Phi*_*ley 12
SUBSTRING功能应该足够了.一个简单的例子,假设表MyTable与列SomeData,二进制(10)非null:
DECLARE
@OneByte binary(1)
,@Loop int
SET @Loop = 0
WHILE @Loop < 10
BEGIN
SET @Loop = @Loop + 1
SELECT @OneByte = substring(SomeData, @Loop, 1)
from MyTable
-- Process accordingly
END
Run Code Online (Sandbox Code Playgroud)
有更好的基于集合的方法来做到这一点,但对于短值,这应该是足够的.
您可以使用SUBSTRING遍历二进制字段.
declare @BinaryColumn binary(5)
set @BinaryColumn = convert(binary,'abcde')
declare @Counter int, @ColumnLength int
set @Counter = 1
set @ColumnLength = LEN(@BinaryColumn)
while (@Counter <= @ColumnLength) begin
select SUBSTRING(@BinaryColumn, @Counter, 1)
set @Counter = @Counter + 1
end /* while */
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9476 次 |
最近记录: |