Pergunta

Não é tanto uma questão como uma observação ...

Eu só estou atualizando para o SQL Server 2008 em minha máquina de desenvolvimento em antecipação de atualizar minhas aplicações ao vivo. Eu não antecipar eventuais problemas desde [Eu acho] Eu geralmente uso padrão T-SQL e, provavelmente, não muito longe do padrão ANSI SQL. Até aí tudo bem, mas eu estava realmente jogado por uma mudança muito simples:

Eu estava criando um simples, pequeno tabela look-up para armazenar uma lista de códigos e incluindo uma coluna de bits para indicar o código padrão atual. Mas quando eu usei a opção nova / modificada 'Editar 200 Linhas Superiores', e entrou meus 0s e 1s na coluna a pouco eu tenho um erro:

'Valor inválido para celular - corda foi não reconhecido como um booleano válido '

Depois de um pouco de cabeça coçar, eu tentei Verdadeiro e Falso - e eles trabalharam.

Assim, parece que este novo recurso Editar requer 4 ou 5 caracteres a serem digitados, ao invés do anterior 1.

Verificar mais, ainda podemos usar '...where bitval = 1' mas agora também pode usar '...where bitval = 'true''. Mas qualquer resultado retornado tornar estas colunas bit como 0 ou 1 ainda.

tudo isso soa como meio passo para trás. Não é o fim do mundo, mas e aborrecimento desnecessário.

Alguém tem qualquer visão sobre esta questão? Ou existem outros novos Gotchas com o SQL Server 2008?

2012 Update: Tendo acabado de instalar SQL Server 2012, noto que este comportamento foi 'corrigido' - Assim como eu poderia antes, agora eu posso entrar 1/0 ao invés de verdadeiro / falso diretamente em linhas, utilizando a opção 'Editar 200 Linhas Superiores'. É uma coisa pequena, mas estou feliz.

Foi útil?

Solução

Só que eles estragaram tudo e apenas metade reforçou a Try regra usando ... = True em uma instrução de atualização e ver o que acontece. Quer percorrer todo o caminho ou não em todos. Desculpe Microsoft, não pode dar-lhe quaisquer marcas em que um

Outras dicas

Você sempre foi capaz de usar 'True' e 'False' para comparar com colunas BIT ... Eu acho que esta alteração "força" é uma boa para ficar claro que o campo é um pouco, e não um INT.

Pessoalmente, eu gostaria que o C # não suporta "se (0) ..." Eu acho que é apenas uma preferência para maior clareza.

Só encontrei este (depois de preparar soemthing outra coisa) Construído em pelo projeto

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top