CONSULTA SQL DE ACORDO COM ARRAY
Dim MeuArray(3) As String
MeuArray(0) = [Ô]4.3[Ô]
MeuArray(1) = [Ô]4.2.1[Ô]
MeuArray(2) = [Ô]4.1.3.22[Ô]
Gostaria de montar uma Consulta SQLque suprimisse todos os código que começassem com 4.3, 4.2.1 e 4.1.3.22 conforme o array acima
Por exemplo iria suprimir:
[txt-color=#0000f0]4.3[/txt-color]
[txt-color=#0000f0]4.3[/txt-color].1
[txt-color=#0000f0]4.3[/txt-color].2.34
[txt-color=#0000f0]4.2.1[/txt-color]
[txt-color=#0000f0]4.2.1[/txt-color].24
[txt-color=#0000f0]4.1.3.22[/txt-color]
[txt-color=#0000f0]4.1.3.22[/txt-color].001
[txt-color=#0000f0]4.1.3.22[/txt-color].002
Algo do tipo se fosse literal
[Ô]Select....[Ô]
[Ô]Where Not Codigo IN ([ô]4.3[ô], [ô]4.2.1[ô], [ô]4.1.3.22[ô])[Ô]
Como faço o Where da consula?
Grato
MeuArray(0) = [Ô]4.3[Ô]
MeuArray(1) = [Ô]4.2.1[Ô]
MeuArray(2) = [Ô]4.1.3.22[Ô]
Gostaria de montar uma Consulta SQLque suprimisse todos os código que começassem com 4.3, 4.2.1 e 4.1.3.22 conforme o array acima
Por exemplo iria suprimir:
[txt-color=#0000f0]4.3[/txt-color]
[txt-color=#0000f0]4.3[/txt-color].1
[txt-color=#0000f0]4.3[/txt-color].2.34
[txt-color=#0000f0]4.2.1[/txt-color]
[txt-color=#0000f0]4.2.1[/txt-color].24
[txt-color=#0000f0]4.1.3.22[/txt-color]
[txt-color=#0000f0]4.1.3.22[/txt-color].001
[txt-color=#0000f0]4.1.3.22[/txt-color].002
Algo do tipo se fosse literal
[Ô]Select....[Ô]
[Ô]Where Not Codigo IN ([ô]4.3[ô], [ô]4.2.1[ô], [ô]4.1.3.22[ô])[Ô]
Como faço o Where da consula?
Grato
A ideia é mais ou menos assim, só não se esqueça de conferir como a string está sendo montada antes de executá-la.
OBS: A string sql ficará com um [Ô]or[Ô] sobrando no final, tem que retira-lo pra funcionar.
Dim sql = [Ô]Select * from Tabela Where[Ô]
For i as integer = 0 to MeuArray.Length-1
sql = sql + [Ô] Codigo like [Ô] + MeuArray(i) + [ô]%[ô] + [Ô] or[Ô]
Next
OBS: A string sql ficará com um [Ô]or[Ô] sobrando no final, tem que retira-lo pra funcionar.
Citação::
A ideia é mais ou menos assim, só não se esqueça de conferir como a string está sendo montada antes de executá-la.Dim sql = [Ô]Select * from Tabela Where[Ô]
For i as integer = 0 to MeuArray.Length-1
sql = sql + [Ô] Codigo like [Ô] + MeuArray(i) + [ô]%[ô] + [Ô] or[Ô]
Next
OBS: A string sql ficará com um [Ô]or[Ô] sobrando no final, tem que retira-lo pra funcionar.
O Like não pegaria qualquer parte do código, precisaria ser só o inÃcio?
Por exemplo:
Para a pesquisa usando like do 4.3 ele pegaria:
[txt-color=#0000f0]4.3[/txt-color]
3.[txt-color=#0000f0]4.3[/txt-color].1
3.5.[txt-color=#0000f0]4.3[/txt-color].7
[txt-color=#0000f0]4.3[/txt-color].1
ele só poderia pegar o
[txt-color=#0000f0]4.3[/txt-color] e [txt-color=#0000f0]4.3[/txt-color].1
Ou estou enganado
Acho que assim dará certo
Dim sql = [Ô]Select * from Tabela Where[Ô]
For i as integer = 0 to MeuArray.Length-1
sql = sql + [Ô] Codigo like [Ô] + MeuArray(i) + [ô][txt-color=#e80000][^][/txt-color]%[ô] + [Ô] or[Ô]
Next
Dim sql = [Ô]Select * from Tabela Where[Ô]
For i as integer = 0 to MeuArray.Length-1
sql = sql + [Ô] Codigo like [Ô] + MeuArray(i) + [ô][txt-color=#e80000][^][/txt-color]%[ô] + [Ô] or[Ô]
Next
caso seja SQL Server, já tentou usar a função SUBSTRING(campo, 0, 0) ?
Citação::
caso seja SQL Server, já tentou usar a função SUBSTRING(campo, 0, 0) ?
A solução do Jaba me fez lembrar [txt-color=#e80000][^]%[/txt-color], deu certo, funcionou 100% como eu queria
valeu
Tópico encerrado , respostas não são mais permitidas