Preciso diferenciar letras maiúsculas de minúsculas , com MYSQL nós usamos BINARY na query e no MSSQL o que usar? tentei BINARY e me retornou erro
Basta usar collation, mas tome cuidado e siga o padrão da collation da sua DB. CaseSensitivity CI especifica que não diferencia maiúsculas de minúsculas, CS especifica que diferencia maiúsculas de minúsculas. AccentSensitivity AI especifica que não diferencia acentos, AS especifica que diferencia acento. Exemplo: SELECT * FROM MEMB_INFO COLLATE Latin1_General_CS_AS A query do exemplo vai diferenciar maiúsculas de minúsculas e vai diferenciar acentos. Sendo assim, "olá" vai ser diferente de "ola". E "Ola" vai ser diferente de "ola", etc. Se quiser saber mais sobre Collations, consulte a [Somente usuários registrados podem vem os links. ] Recomendo que siga a collation recomendada para a versão do seu SQL. SQL Server 2005 (90) ou SQL Server 2000: Latin1_General_XX_XX SQL Server 2008 (100): Latin1_General_100_XX_XX Se for pra MuOnline, ao que me consta (pelo menos é assim que uso e sempre foi tudo ok), o ideal é Latin1_General_CI_AI como default pra DB para evitar problemas (principalmente em login) e Latin1_General_CI_AS para colunas de tabelas que armazenam conteúdos que recebem acentos, como notícias e ticket.
Última edição por Renato; 23-03-2015 às 03:26 PM.
Código PHP: <?php if(Weather::getState() == 'Rainy weather') { $this->removingLittleHorseFromRain(); }
<?php if(Weather::getState() == 'Rainy weather') { $this->removingLittleHorseFromRain(); }
gokuka
Obrigado Renato, vi a documentação, tentei usar como você falou e não adiantou ele está fazendo login ainda com letras minusculas, vou ver mas sobre collations aqui. Obrigado, já é um bom começo!
texto é varchar/char, binary e varbinary é outra coisa... vc n vai conseguir comparar com texto sem fazer um cast antes CONVERT(VARCHAR(MAX), coluna)
Postado originalmente por WoLfulus texto é varchar/char, binary e varbinary é outra coisa... vc n vai conseguir comparar com texto sem fazer um cast antes CONVERT(VARCHAR(MAX), coluna) Isso vai converter? não posso fazer isso é pra site de MuOnline, se eu fazer isso vai terminar de feder o cocô que utilizam a mesma query UEHUEHUEH tendeu?!!! Olhe minha query não funfa estou pensando em deixar como está sem diferenciar maiúsculas de minúsculas: Código: $incchecklogin = $inccn->INCrow($inccn->INCconsulta("select memb___id COLLATE Latin1_General_CI_AS from memb_info where memb___id='".$inclogin_panel."' and memb__pwd='".$incpassw_panel."'"));
$incchecklogin = $inccn->INCrow($inccn->INCconsulta("select memb___id COLLATE Latin1_General_CI_AS from memb_info where memb___id='".$inclogin_panel."' and memb__pwd='".$incpassw_panel."'"));
Última edição por gokuka; 23-03-2015 às 05:11 PM.
mano, se o site é pra muonline, desde quando o memb___id e memb__pwd é binary pra começo de conversa? ambos deveriam estar varchar(10), a não ser que a senha seja MD5, ai nem esse tipo de comparação vc deveria estar fazendo, pq vc tem que calcular um hash de ambos pra comprar a senha (o que é feito por procedure) e outra, esse tipo de "montagem" de query por concatenação é propícia à sql injection. []'s
Última edição por WoLfulus; 23-03-2015 às 06:07 PM.
Kinho Mace
Wolf, acho que tu não compreendeu a dúvida do rapaz... Pelo que entendi ele quer saber como diferenciar case sensitive, não como converter pra varbinary. O problema é que ele não soube se expressar corretamente, principalmente no título do tópico @gokuka, observe bem a sua query e você verá qual foi o seu erro. []'s
WoLfulus, Rapaz vou mudar, primeiro eu faço depois eu testo e mudo pra algo melhor Renato, sim eu não sabia como expressar ainda bem que tem um que entende... No MySQL se utiliza assim: select prod_name, prod_id from products where prod_name = binary 'Hype Beau'; [Somente usuários registrados podem vem os links. ] Eu mesmo testei fiz um painelzinho simples em mysql, e funcionou agora pra mssql server nem esse treco que o renato passou funcionou (agora vou pra escola mas tarde eu tento navamente)... Valeu Renato...
Última edição por gokuka; 23-03-2015 às 07:05 PM.
Postado originalmente por gokuka WoLfulus, Rapaz vou mudar, primeiro eu faço depois eu testo e mudo pra algo melhor Renato, sim eu não sabia como expressar ainda bem que tem um que entende... No MySQL se utiliza assim: select prod_name, prod_id from products where prod_name = binary 'Hype Beau'; [Somente usuários registrados podem vem os links. ] Eu mesmo testei fiz um painelzinho simples em mysql, e funcionou agora pra mssql server nem esse treco que o renato passou funcionou (agora vou pra escola mas tarde eu tento navamente)... Valeu Renato... agora ISSO SIM faz sentido... eu achei que vc tava tentando usar CS/AC em colunas binárias
#off Gostei do Bard no teu avatar @wolfulus ^^
WoLfulus
Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)
Regras do Fórum