Você está aqui: Firebird ::: Dicas & Truques ::: Strings e Caracteres

Como usar a função RPAD() para adicionar espaços (ou outros caracteres) do lado direito do valor de um campo do tipo CHAR ou VARCHAR

Quantidade de visualizações: 9338 vezes
A função RPAD() do Firebird pode ser usada quando precisamos adicionar espaços (ou outros caracteres) do lado direito do valor de um campo do tipo CHAR ou VARCHAR. Esta função é útil quando temos campos do tipo VARCHAR mas precisamos gerar listagens de dados com campos de tamanho fixo (arquivos de remessa para os bancos são bons exemplos de campos de tamanhos fixos).

Veja um comando SQL DML SELECT FROM que usa esta função para fixar o valor obtido de um campo do tipo VARCHAR em 40 caracteres. Se o valor do campo possuir menos que 40 caracteres, espaços serão adicionados do lado direito:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

SELECT RPAD(NOME, 40) FROM CLIENTES WHERE ID = 1;

Note que, se o valor fornecido para o segundo parâmetro da função RPAD() for menor que o tamanho do campo, o valor retornado será truncado.

Veja agora uma modificação do exemplo anterior. Agora nós vamos trocar os espaços por caracteres "#":

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

SELECT RPAD(NOME, 40, '#') FROM CLIENTES WHERE ID = 1;

Esta query exibirá o seguinte resultado:

RPAD
OSMAR J. SILVA##########################
A função RPAD() pode ser usada em DSQL (Dynamic SQL) e PSQL (Stored procedure and trigger language).

Link para compartilhar na Internet ou com seus amigos:

Firebird ::: Dicas & Truques ::: Tipos de Dados

Como usar o tipo de dados BLOB do Firebird para a gravação de imagens, vídeos e arquivos de música

Quantidade de visualizações: 18540 vezes
Um BLOB é um tipo de dados que permite armazenar grandes informações no formato binário (Binary Large OBject). Campos deste tipo podem conter dados binários ou ASCII, por exemplo, grandes arquivos de texto, documentos para o processamento de dados, arquivos de programas CAD, imagens e gráficos, vídeos, arquivos de música, etc.

O tamanho de um BLOB é quase ilimitado, uma vez que eles podem ser armazenados utilizando-se várias páginas. Isso assume, contudo, que um tamanho de página suficiente tenha sido fornecido para a base de dados. Por exemplo, usando uma página de 1kb, o tamanho do BLOB não pode exceder 0,5Gb. Se usarmos um tamanho de página de 4Kb, o tamanho do BLOB está limitado a 8Gb.

O Firebird suporta dois tipos pré-definidos de BLOB, diferenciados pelo atributo sub-type (palavra-chave SQL SUB_TYPE):

a) BLOB SUB_TYPE 0 - Este é o tipo BLOB genérico para o armazenamento de qualquer tipo de dados, incluindo texto. Geralmente chamado de "BLOB binário sem registro de tipo".

b) BLOB SUB_TYPE 1 (BLOB SUB_TYPE TEXT) - Sub-tipo mais especializado para o armazenamento de texto puro. É equivalente aos tipos CLOB e MEMO implementados em alguns bancos de dados (DBMS). É recomendado para uso com interfaces de aplicações tais como componentes RAD ou motores de pesquisa que fornecem um tratamento especial para tais tipos.

Veja um comando DDL CREATE TABLE que cria uma tabela contendo um campo do tipo BLOB (usando o sub-tipo text):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

CREATE TABLE COMPROMISSOS (
  ID         INTEGER NOT NULL,
  DESCRICAO  BLOB SUB_TYPE 1 SEGMENT SIZE 4096 NOT NULL,
  DATA_HORA  TIMESTAMP NOT NULL
);

Aqui nós temos uma tabela com três campos: ID é do tipo INTEGER, DESCRICAO é do tipo BLOB com o sub-tipo 1 e DATA_HORA é do tipo TIMESTAMP. Veja agora um comando DML INSERT INTO que insere um registro nesta tabela:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

INSERT INTO COMPROMISSOS VALUES(10, 'REUNIÃO COM CLIENTE - SÃO PAULO',
  '2010-12-02 12:30:00');

Note que os valores para campos do tipo BLOB devem ser fornecidos entre aspas simples. Agora, veja um comando SQL DML SELECT que lista o registro inserido anteriormente:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

SELECT * FROM COMPROMISSOS;

Este comando vai gerar o seguinte resultado:

ID  DESCRICAO	                     DATA_HORA
10  REUNIÃO COM CLIENTE - SÃO PAULO  2/12/2010 12:30:00



Firebird ::: Dicas & Truques ::: Tipos de Dados

Como usar os tipos de dados DATE, TIME e TIMESTAMP do Firebird

Quantidade de visualizações: 30022 vezes
No dialeto 3 (SQL DIALECT 3), o tipo de dados DATE do Firebird armazena apenas a data sozinha, ou seja, sem as horas. Esta forma de guardar apenas a data resulta em uma ocupação de 4 bytes (32 bits) na memória. A data armazenada pode variar de 01/01/0001 até 31/12/9999.

No dialeto 1, (SQL DIALECT 1), o tipo DATE é o equivalente ao tipo TIMESTAMP do dialeto 3 (o tipo TIMESTAMP passou a existir somente a partir do dialeto 3).

Veja um comando DDL CREATE TABLE que cria uma tabela do Firebird contendo um campo do tipo DATE:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

CREATE TABLE ALUNOS (
  ID          INTEGER NOT NULL,
  NOME        VARCHAR(40) NOT NULL,
  NASCIMENTO  DATE NOT NULL
);

Aqui o campo ID é do tipo INTEGER, NOME é do tipo VARCHAR(40) e NASCIMENTO é do tipo DATE. Veja agora um comando DML INSERT INTO que insere um novo registro nesta tabela. Fique atento à forma como o valor da data é informado:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

INSERT INTO ALUNOS VALUES(1, 'OSMAR J. SILVA', '1981-11-28');

Veja que a data, assim como o valor para o campo NOME, foi informada entre aspas simples e seguindo o formato YYYY-MM-DD, ou seja, o ano, mês e dia separados por hifens. Para obter os dados inseridos pela query anterior, podemos usar o seguinte comando DML SELECT FROM:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

SELECT * FROM ALUNOS;

Esta query resulta na exibição dos seguintes dados:

ID  NOME	     NASCIMENTO
1   OSMAR J. SILVA   28/11/1981


O tipo de dados TIME, disponível apenas a partir do dialeto 3 (SQL DIALECT 3) nos permite armazenar as horas, sem a data. Este tipo ocupa 4 bytes (32 bits) de memória e pode conter valores na faixa de 00:00 até 23:59:59.9999. Veja um comando DDL CREATE TABLE que cria uma tabela do Firebird contendo um campo do tipo TIME:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

CREATE TABLE COMPROMISSOS (
  ID         INTEGER NOT NULL,
  DESCRICAO  VARCHAR(80) NOT NULL,
  DATA       DATE NOT NULL,
  HORA       TIME NOT NULL
);

Veja que esta tabela possui 4 campos: ID do tipo INTEGER, DESCRICAO do tipo VARCHAR(80), DATA do tipo DATE e HORA do tipo TIME. Eis um comando DML INSERT INTO que mostra como inserir um registro nesta tabela:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

INSERT INTO COMPROMISSOS VALUES(10, 'ALMOÇO COM A ESPOSA',
  '2010-12-10', '19:00:00');

Note que, assim como fazemos com campos do tipo DATE, os valores para campos do tipo TIME também devem ser informados entre aspas simples. Veja um comando DML SELECT FROM que lista o registro inserido na query anterior:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

SELECT * FROM COMPROMISSOS;


Esta query produz o seguinte resultado:

ID  DESCRICAO	          DATA	        HORA
10  ALMOÇO COM A ESPOSA	  10/12/2010	19:00:00


O tipo TIMESTAMP, disponível apenas a partir do dialeto 3 (SQL DIALECT 3) nos permite armazenar a data e hora juntas. Este tipo ocupa 8 bytes (64 bits) de memória e é equivalente ao tipo DATE do dialeto 1. Veja um comando DDL CREATE TABLE que cria uma tabela do Firebird contendo um campo do tipo TIMESTAMP:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

CREATE TABLE COMPROMISSOS (
  ID         INTEGER NOT NULL,
  DESCRICAO  VARCHAR(80) NOT NULL,
  DATA_HORA  TIMESTAMP NOT NULL
);

Veja que esta tabela possui três campos: ID é do tipo INTEGER, DESCRICAO é do tipo VARCHAR(80) e DATA_HORA é do tipo TIMESTAMP. Eis um comando DML INSERT INTO que mostra como inserir um registro nesta tabela:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

INSERT INTO COMPROMISSOS VALUES(20, 'ALMOÇO COM A ESPOSA', 
  '2010-10-23 19:00:00');

Note que os valores para campos do tipo TIMESTAMP também devem ser informados entre aspas simples. Para finalizar, Veja um comando DML SELECT FROM que lista o registro inserido na query anterior:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

SELECT * FROM COMPROMISSOS;

Esta query produz o seguinte resultado:

ID  DESCRICAO	          DATA_HORA
20  ALMOÇO COM A ESPOSA	  23/10/2010 19:00:00



Firebird ::: Dicas & Truques ::: Strings e Caracteres

Como substituir valores em campos CHAR ou VARCHAR usando a função REPLACE() do Firebird

Quantidade de visualizações: 15783 vezes
A função REPLACE() do Firebird pode ser usada quando queremos substituir valores no conteúdo de um campo do tipo CHAR ou VARCHAR. Veja um exemplo de um comando SQL DML SELECT FROM no qual usamos a função REPLACE() para substituir todos os espaços por sublinhados (underline) em um campo chamado NOME de uma tabela CLIENTES:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

SELECT REPLACE(NOME, ' ', '_') FROM CLIENTES WHERE ID = 1;

Esta query exibirá o seguinte resultado:

REPLACE
OSMAR_J._SILVA
A função REPLACE() pode ser usada em DSQL (Dynamic SQL) e PSQL (Stored procedure and trigger language).


Veja mais Dicas e truques de Firebird

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 20 usuários muito felizes estudando em nosso site.