Sql server 如何计算0';s和1';变量中有什么?

Sql server 如何计算0';s和1';变量中有什么?,sql-server,Sql Server,给定一个包含一系列0和1的变量,如何计算变量中每个变量的数量 下面是一个例子: SET @AnswerGridCorrect = '0010010'; 我需要做的是将注释返回到一个名为@Hint的变量中,以便它包含: "Select 2 out of 7 choices" 您需要在每个位置循环并测试它是0还是1。例如: while i <= 7 begin if substr(@AnswerGridCorrect,i,1) == 1 set count = coun

给定一个包含一系列0和1的变量,如何计算变量中每个变量的数量

下面是一个例子:

SET @AnswerGridCorrect = '0010010';
我需要做的是将注释返回到一个名为@Hint的变量中,以便它包含:

"Select 2 out of 7 choices"

您需要在每个位置循环并测试它是0还是1。例如:

while i <= 7 begin
    if substr(@AnswerGridCorrect,i,1) == 1
      set count = count + 1
    set i = i + 1
end

当i时,您需要在每个位置循环并测试它是0还是1。例如:

while i <= 7 begin
    if substr(@AnswerGridCorrect,i,1) == 1
      set count = count + 1
    set i = i + 1
end

当i时,您需要在每个位置循环并测试它是0还是1。例如:

while i <= 7 begin
    if substr(@AnswerGridCorrect,i,1) == 1
      set count = count + 1
    set i = i + 1
end

当i时,您需要在每个位置循环并测试它是0还是1。例如:

while i <= 7 begin
    if substr(@AnswerGridCorrect,i,1) == 1
      set count = count + 1
    set i = i + 1
end

而我因为你只有0和1,这是相当容易做到的:

最好的解决方案是使用一点明智的和(类似的东西)

公共布尔校验位(字节b,整数位)
{

var bit=(b&(1由于您只有0和1,这是相当容易做到的:

最好的解决方案是使用一点明智的和(类似的东西)

公共布尔校验位(字节b,整数位)
{

var bit=(b&(1由于您只有0和1,这是相当容易做到的:

最好的解决方案是使用一点明智的和(类似的东西)

公共布尔校验位(字节b,整数位)
{

var bit=(b&(1由于您只有0和1,这是相当容易做到的:

最好的解决方案是使用一点明智的和(类似的东西)

公共布尔校验位(字节b,整数位)
{
变量位=(b&(1使用此项:

DECLARE @AnswerGridCorrect VARCHAR(MAX)
DECLARE @Question VARCHAR(MAX)

SET @AnswerGridCorrect = '0010010';

SET @question = 'Select ' + CAST(LEN(@AnswerGridCorrect) - LEN(REPLACE(@AnswerGridCorrect, '1', '')) AS VARCHAR(MAX)) +
                ' out of ' + CAST(LEN(@AnswerGridCorrect) AS VARCHAR(MAX)) + ' choices'

SELECT @Question
输出:

从7个选项中选择2个

使用以下选项:

DECLARE @AnswerGridCorrect VARCHAR(MAX)
DECLARE @Question VARCHAR(MAX)

SET @AnswerGridCorrect = '0010010';

SET @question = 'Select ' + CAST(LEN(@AnswerGridCorrect) - LEN(REPLACE(@AnswerGridCorrect, '1', '')) AS VARCHAR(MAX)) +
                ' out of ' + CAST(LEN(@AnswerGridCorrect) AS VARCHAR(MAX)) + ' choices'

SELECT @Question
输出:

从7个选项中选择2个

使用以下选项:

DECLARE @AnswerGridCorrect VARCHAR(MAX)
DECLARE @Question VARCHAR(MAX)

SET @AnswerGridCorrect = '0010010';

SET @question = 'Select ' + CAST(LEN(@AnswerGridCorrect) - LEN(REPLACE(@AnswerGridCorrect, '1', '')) AS VARCHAR(MAX)) +
                ' out of ' + CAST(LEN(@AnswerGridCorrect) AS VARCHAR(MAX)) + ' choices'

SELECT @Question
输出:

从7个选项中选择2个

使用以下选项:

DECLARE @AnswerGridCorrect VARCHAR(MAX)
DECLARE @Question VARCHAR(MAX)

SET @AnswerGridCorrect = '0010010';

SET @question = 'Select ' + CAST(LEN(@AnswerGridCorrect) - LEN(REPLACE(@AnswerGridCorrect, '1', '')) AS VARCHAR(MAX)) +
                ' out of ' + CAST(LEN(@AnswerGridCorrect) AS VARCHAR(MAX)) + ' choices'

SELECT @Question
输出:

从7个选项中选择2个

可能重复的可能重复的可能重复的可能重复的可能重复的