Advertisement
Guest User

Untitled

a guest
Jul 17th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. CREATE TABLE IF NOT EXISTS operacao (
  2. id INTEGER PRIMARY KEY AUTOINCREMENT,
  3. cod_acao TEXT NOT NULL,
  4. qtd INTEGER NOT NULL,
  5. preco INTEGER NOT NULL,
  6. taxas INTEGER,
  7. data TEXT NOT NULL,
  8. tipo_ordem BIT NOT NULL --1 COMPRA - 0 VENDA
  9. )
  10.  
  11. INSERT INTO operacao ( cod_acao, qtd, preco, taxas, data, tipo_ordem) values
  12. ('CSNA3', 100, 1645, 0, '2019-06-30', '1'),
  13. ('CSNA3', 100, 1630, 0, '2019-07-01', '1'),
  14. ('CSNA3', 100, 1650, 0, '2019-07-02', '0'),
  15. ('ITUB4', 100, 3650, 0, '2019-07-04', '1'),
  16. ('ITUB4', 100, 3660, 0, '2019-07-10', '0'),
  17. ('VVAR3', 100, 600, 0, '2019-07-04', '1'),
  18. ('VVAR3', 100, 650, 0, '2019-07-11', '0'),
  19. ('CIEL3', 200, 660, 0, '2019-07-15', '1'),
  20. ('CIEL3', 100, 705, 0, '2019-07-20', '0'),
  21. ('GGBR4', 200, 1510, 0, '2019-07-15', '1'),
  22. ('GGBR4', 100, 1525, 0, '2019-07-18', '1'),
  23. ('GGBR4', 100, 1550, 0, '2019-07-20', '0'),
  24. ('ABEV3', 100, 1850, 0, '2019-07-25', '1'),
  25. ('ABEV3', 100, 1866, 0, '2019-07-26', '1'),
  26. ('ABEV3', 100, 1780, 0, '2019-07-28', '0'),
  27. ('GRND3', 100, 750, 0, '2019-07-18', '1'),
  28. ('GRND3', 100, 730, 0, '2019-07-18', '1'),
  29. ('GRND3', 100, 766, 0, '2019-07-28', '0')
  30.  
  31. --test data format
  32. select id, cod_acao, strftime('%d/%m/%Y', data, 'localtime') as 'data op' from operacao order by data asc
  33.  
  34. --selecione todas operaçoes do mes atual "do ano"
  35. select * from operacao where strftime('%Y%m', 'now', 'localtime') = strftime('%Y%m', data)
  36.  
  37. --selecione todas acoes do mes passado
  38. select * from operacao where strftime('%Y%m', 'now', 'localtime', '-1 month') = strftime('%Y%m', data)
  39.  
  40. --Total R$ em ativos em carteira
  41. select sum(preco) as 'Ativos' from operacao where tipo_ordem = 1
  42.  
  43. --preço medio de cada ativo comprado
  44.  
  45. --lucro do mes em R$
  46. select from operacao where strftime('%Y%m', 'now', 'localtime') = strftime('%Y%m', data)
  47.  
  48. --lucro total do mes em %
  49.  
  50. --lucro de cada acao vendida no mes
  51.  
  52. --total vendido deste mes ate agora
  53.  
  54. --total vendido de X data ate Y data
  55.  
  56. --total comprado de X data até Y data
  57.  
  58. select strftime('%d-%m-%Y', 'now', 'localtime');
  59.  
  60. SELECT DATE('now', 'start of month');
  61.  
  62. SELECT date('now','localtime', 'start of month');
  63.  
  64. select date('now')
  65. SELECT date('now','-1 day');
  66.  
  67. DELETE FROM operacao
  68. SELECT * FROM operacao
  69.  
  70.  
  71. /*
  72. Nunca usar pontos flutuantes para valores monetários (real, double, float).
  73. A representação desses valores segue o padrão IEEE_754 e foram projetados exclusivamente para aplicações científicas.
  74. Aplicações financeiras exigem precisão absoluta pois em um sistema de contabilidade, por exemplo, não pode ser tolerado nenhuma diferença num saldo, mesmo que seja de poucos centavos em Bilhões de Reais, pois causa desconfiança que causaria no sistema (dando a impressão de existencia de erro).
  75. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement