Importar um subconjunto dos dados usando SQL

Ao importar dados de um banco de dados com ODBC, você pode usar expressões de Structured Query Language (SQL) para importar apenas os registros (linhas) que você deseja. O SQL é utilizado em muitos aplicativos de banco de dados. O Minitab não atua sobre a expressão do SQL, mas só a passa para o banco de dados.

Selecione os campos a serem importados

  1. Escolha Arquivo > Banco de dados de consultas (ODBC).
  2. Selecione uma fonte de dados. Se solicitado, selecione o banco de dados.
  3. Na caixa de diálogo Banco de dados de consulta (ODBC), na lista suspensa Tabelas disponíveis, selecione a tabela que você deseja consultar.
  4. Use o botão de seta para mover os campos que deseja importar para Campos selecionados.
  5. Clique em Usar linhas.
  6. Em Usar linhas, insira uma expressão que define os registros que você deseja importar. Esses registros tornam-se linhas no Minitab. Expressões começam com a palavra-chave "where" e contêm nomes de campo, operadores lógicos (como "And" e "="), funções SQL e valores. Para obter mais informações sobre as funções SQL compatíveis, consulte a documentação o seu aplicativo de banco de dados.
  7. Clique em OK em cada caixa de diálogo.

Diretrizes para a sintaxe de expressão do SQL

As regras de sintaxe variam entre os drivers ODBC para as diferentes aplicações de banco de dados. Se precisar de ajuda com a sintaxe, entre em contato com o administrador do banco de dados.

Valores de texto
A sintaxe para valores de texto deve seguir as regras de sintaxe para o driver ODBC, da seguinte forma:
  • Para o Microsoft® Access e muitos outros bancos de dados, coloque valores de texto entre aspas simples (por exemplo, ‘Morristown’).
  • Para bancos de dados Oracle ou SQL Server, coloque valores de texto em dois conjuntos de aspas duplas (por exemplo, ""Morristown"").
Valores numéricos
Não coloque números, como 300, com nenhum caractere especial.
Valores de data/hora
Para bancos de dados do Access e dBASE, coloque as datas entre sinais de número (por exemplo, #12/31/2016#). Para outros bancos de dados, consulte a documentação do aplicativo. Em vez de inserir uma data específica, também é possível usar uma função de data/hora.
Nomes de campo
Os delimitadores de campo variam de acordo com driver ODBC. Se você digitar o nome do campo, selecionando-o a partir da lista de campos na caixa de diálogo Usar linhas, o Minitab inclui o campo no delimitador apropriado ao seu driver ODBC.
Funções
Para indicar que a função é uma função ODBC, e não uma função nativa do aplicativo de banco de dados do qual você está importando, use chaves e as letras "fn" (por exemplo, {fn SQRT(128)}). Se você selecionar as funções da lista na caixa de diálogo Usar linhas, o Minitab adiciona automaticamente a sintaxe necessária.
Caracteres curinga
Para caracteres curinga em todas as consultas SQL, use um símbolo de porcentagem (%) em vez de um asterisco (*) e usar um sublinhado (_) em vez de um ponto de interrogação (?).

Exemplos de expressões SQL do Microsoft® Access

A sintaxe para outros aplicativos de banco de dados além do Access pode ser diferente.

Observação

Para obter os melhores resultados, não copie nem cole essas expressões da tabela. Escreva-as diretamente na caixa de diálogo.

Dados para importação Expressão do SQL
Registros para o primeiro trimestre de 2017
onde DATE >= #1/1/17# e DATE < #4/1/17#
Os registros de funcionários contratados desde 1 de janeiro de 2010 que estão no departamento de Finanças
where DATE_HIRED > #1/1/10# And DEPT = 'Finance'
Os dados dos últimos 30 dias
where `DateFieldName` > Now() - 30
Dados do dia anterior
where (Format(Now-1,'mm-dd-yy')=Format(DateFieldName,'mm-dd-yy'))

Por que algumas funções SQL podem não funcionar

O SQL tem funções ODBC que podem ser usadas para construir expressões. No entanto, é possível que um determinado driver ODBC não seja compatível com todas as funções ODBC. Por exemplo, o driver ODBC para o Microsof ® Access não é compatível com a função TIMESTAMPDIFF. Se você receber uma mensagem de erro, ela se origina do driver ODBC, não do Minitab.

A seguir, apresentamos um exemplo da mensagem de erro que você recebe ao usar o ODBC com a função TIMESTAMPDIFF para consultar o Microsoft® Access:
"SQL Error State: 37000, Native Error Code: FFFFF3E2, ODBC Error: [Microsoft] [ODBC Microsoft® Access Driver] Undefined function 'TIMESTAMPDIFF' in expression."

O Access fornece uma alternativa para a função TIMESTAMPDIFF. A alternativa é a função DATEDIFF( ). A consulta a seguir recupera três colunas de um registro de funcionário. A primeira coluna é o número de dias decorridos a partir da data de início do funcionário até hoje. A segunda e terceira colunas são o nome do funcionário e data de início.

ODBC; Connect "DSN=Test;DBQ=Q:\Trumparc.mdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;PWD=msl;SystemDB=Q:\secured.mdw;UID=msl;"; SQLString "SELECT DateDiff('y', `StartDate`, Now()),`Name`,`StartDate` FROM `Employee`".