1

是否有可以在查询、存储过程、函数中使用的 SQL 命令,该命令适用于类似于以下 C# 代码的二进制类型?

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

我想检查二进制中某个位置的索引是否是某个值,而不是拉下整个数组并进行比较?

4

2 回答 2

1

根据它与二进制列一起使用的文档,您可以使用 Substring():

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

如果你真的想检查一个空值(如你的例子)......你可以这样做:

SELECT *
FROM table
WHERE SUBSTRING(column, 3, 1) = CHAR(0)
于 2009-01-14T19:50:55.390 回答
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
于 2009-01-14T19:51:01.600 回答