2009-01-14 21 views
1

是否有可用于查询,存储过程和函数的SQL命令,该命令可用于类似于以下C#代码的二进制类型?SQL:在二进制值的索引处获取值

if (someBinaryArray[index] == 0) { 
... 

我想,以检查是否在二进制的位置的索引是一定值,而不是拉动整个阵列向下和做比较?

回答

1

您可以使用子串(),根据其工作原理与二进制列的文档:

SELECT * 
FROM Table 
WHERE Substring(column, index, length) = 'blah' 

如果你真的想检查空(在你的例子)......你可以做到这一点:

SELECT * 
FROM table 
WHERE SUBSTRING(column, 3, 1) = CHAR(0) 
+0

s已经工作 - 谢谢 – Hugoware 2009-01-14 19:54:10

0

如果MSSQL Server上运行,你可以使用READTEXT命令

CREATE TABLE #t (b varbinary(1)) 

DECLARE @ptrval varbinary(16) 
SELECT @ptrval = TEXTPTR(mybinarraycolumn) 
FROM mytable WHERE pk = @pk 

INSERT INTO #t (b) 
READTEXT pub_info.pr_info @ptrval @index 1 

DECLARE @b varbinary(1) 
SELECT @b = b FROM #t 
出现