domingo, 28 de julho de 2013

xHarbour, Array excluindo e reposicionando registros

Adel(aArray,Item)
aSize(aArray,Len(aArray)-1)
aSort( aArray,,,{|x,y|x[1]<y[1]})
FOR X = 1 TO Len(aArray)
    aArray[x,1]:=X
NEXT

MySql, Select adcionado item (tipo recno do dbf)

SELECT @r:=@r+1 AS nreg,registro,codigo,descricao
FROM tabela,(SELECT @r:=0) x
WHERE status='0'

sexta-feira, 26 de julho de 2013

MySql - SELECT com IF(condição)

SELECT v.cfs_registro,c.emissao,c.tipo,c.dest_codigo,
IF(c.dest_codigo<999999,d.razao,'Consumidor') AS razao, quantidade,custo,valor,((valor/custo)*100)-100
FROM cfs_itens AS v,cfs_cabec AS c
LEFT JOIN cli_cadastro AS d ON d.registro=c.dest_codigo
WHERE v.codigo=327
AND v.cfs_registro=c.registro
AND c.emissao BETWEEN '2013-07-01' AND '2013-07-31'

quinta-feira, 25 de julho de 2013

MSQL cálculos diretos no SELECT

SELECT cli.razao,cli.mensal_juros
,cab.registro,cab.emissao,cab.nota_total
,(DATEDIFF(CURDATE(),cab.emissao)) AS atrazo_dias
,50.00 AS juros_taxa_mes
,CAST((cab.nota_total*50.00/100)/30 AS DECIMAL(12,2)) AS juros_dia
,CAST((cab.nota_total*50.00/100)/30 AS DECIMAL(12,2))*(DATEDIFF(CURDATE(),cab.emissao)) AS total_juros
,cab.nota_total+CAST((cab.nota_total*50.00/100)/30 AS DECIMAL(12,2))*(DATEDIFF(CURDATE(),cab.emissao)) AS total_pagar
FROM cfs_cabec AS cab, cli_cadastro AS cli
WHERE cab.dest_codigo='101'
AND cab.dest_codigo=cli.registro





MySql Calcular diferença entre dois horários.

SELECT TIMEDIFF(NOW(),'2013-07-25 18:00:00')

Resultado = 00:11:45