Catetan Perihal Tanggal (Date) di Java dan Database

Leave a comment

1. Java : Sampel untuk mendapatkan tanggal esok hari

String dt = “2008-01-01″; // Start date
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd”);
Calendar c = Calendar.getInstance();
c.setTime(sdf.parse(dt));
c.add(Calendar.DATE, 1); // number of days to add
dt = sdf.format(c.getTime()); // dt is now the new date

2.  PostgreSql : Sampel terkait modifikasi tanggal dengan character

- Untuk memperoleh tanggal esok hari

select now()+’1 days’ , * from tsemployee

- Get Current Date and Time using PostgreSQL now()
select now(); select now()::time; select now()::date;
select mydatefield::timestamp from mytable;

- Get Interval Between Two PostgreSQL Dates
select (now() – date_of_join) as days from employee ;
select (date_of_join – 7) as output from employee;

- Round the interval (above difference) to the nearest day using date_part()
select date_part(‘days’, now() – date_of_join) as days from employee;

- Breakdown the date interval into number of years, months and days using age()
select age(date_of_join) from employee;

- Retrieve any sub-fields from the Timestamp using PostgreSQL extract()
select extract(year from date_of_join) as output from employee;

- Truncate a particular date field using PostgreSQL date_trunc()
select date_trunc(‘month’,date_of_join) as output from employee ;
–> hasilnya : diperoleh tanggal awal bulan yang bersangkutan

- Display Postgresql Date in Various Format using to_char()
select to_char(date_of_join,’mm/dd/yy’) as output from employee;
select to_char(date_of_join, ‘FMMonth FMDDth’) as output from employee;
select to_char(startdate, ‘Dy (Day), Mon (Month)’) as output from employee;

- Convert String to Date using PostgreSQL to_timestamp()
select to_timestamp(’201024June10:12am’, ‘YYYYDDFMMonthHH12:MIam’) as valid_time;

Sample Store Procedure PostgreSql

2 Comments

– Function: sppostingjournal(character varying, character varying)

– DROP FUNCTION sppostingjournal(character varying, character varying);

CREATE OR REPLACE FUNCTION sppostingjournal(yearprd character varying, monthprd character varying)
RETURNS integer AS
$BODY$

DECLARE journalitem tsacgeneraljournalitem;
count_item int;
query character varying;
count int;
count_ledger int;
acledger tsacledger;
column_name_bb character varying;
column_name_db character varying;
column_name_cd character varying;
column_name_eb character varying;
exist_bb numeric ;
exist_db numeric ;
exist_cd numeric ;
exist_eb numeric ;
coa tschartofaccounts;
coa_parent tschartofaccounts;
coa_level int;
month_prd character varying;

BEGIN
month_prd := $2;

IF (length(month_prd) = 1) THEN
month_prd := ’0′||$2;
END IF;

column_name_bb = ‘bb’||month_prd;
column_name_db = ‘db’||month_prd;
column_name_cd = ‘cd’||month_prd;
column_name_eb = ‘eb’||month_prd;

query = ‘select * from tsacgeneraljournalitem
where gjno in (select gjno from tsacgeneraljournal where yearperiod=”’ || $1 || ”’ and monthperiod=”’ || $2 || ”’
and isposted=”false” and isclosed=”false”
and isvalidated=”true”)
and isposted=”false” and isclosed=”false” and isvalidated=”true”’;

FOR journalitem in EXECUTE query

LOOP

exist_bb := 0;
exist_db := 0;
exist_cd := 0;
exist_eb := 0;

query = ‘select count(*) from tsacledger where yearperiod=”’ || $1 || ”’ and coano=”’||journalitem.coano||”’ ‘;

EXECUTE query INTO count_ledger;

IF (count_ledger = 0) THEN
query = ‘insert into tsacledger (“yearperiod”,”coano”,”‘||column_name_db||’”,”‘||column_name_cd||’”,”lastupdated”, “updater”)
values (”’ || $1 || ”’,”’||journalitem.coano||”’,'||journalitem.amountofdebit||’,'||journalitem.amountofcredit||’,now(),”ADMIN”) ‘;

EXECUTE query;

ELSE

query = ‘select ‘||column_name_db||’ from tsacledger where yearperiod=”’ || $1 || ”’ and coano=”’||journalitem.coano||”’ ‘;
EXECUTE query INTO exist_db;

query = ‘select ‘||column_name_cd||’ from tsacledger where yearperiod=”’ || $1 || ”’ and coano=”’||journalitem.coano||”’ ‘;
EXECUTE query INTO exist_cd;

select into acledger tsacledger.* from tsacledger where yearperiod=” || $1 || ” and coano=”||journalitem.coano||”;

exist_db := exist_db + journalitem.amountofdebit;
exist_cd := exist_cd + journalitem.amountofcredit;

query = ‘update tsacledger set ‘||column_name_db||’ = ‘||exist_db||’, ‘||column_name_cd||’ = ‘||exist_cd||’ where yearperiod=”’ || $1 || ”’ and coano=”’||journalitem.coano||”’ ‘;
EXECUTE query;

END IF;

select into coa tschartofaccounts.* from tschartofaccounts where coano=”||journalitem.coano||”;

count := coa.levelno – 1;

IF (count > 0) THEN

LOOP

exist_bb := 0;
exist_db := 0;
exist_cd := 0;
exist_eb := 0;

select into coa_parent tschartofaccounts.* from tschartofaccounts where coano=coa.coanogroup;

query = ‘select count(*) from tsacledger where yearperiod=”’ || $1 || ”’ and coano=”’||coa_parent.coano||”’ ‘;

EXECUTE query INTO count_ledger;

IF (count_ledger = 0) THEN
query = ‘insert into tsacledger (“yearperiod”,”coano”,”‘||column_name_db||’”,”‘||column_name_cd||’”,”lastupdated”, “updater”)
values (”’ || $1 || ”’,”’||coa_parent.coano||”’,'||journalitem.amountofdebit||’,'||journalitem.amountofcredit||’,now(),”ADMIN”) ‘;

EXECUTE query;

ELSE
query = ‘select ‘||column_name_db||’ from tsacledger where yearperiod=”’ || $1 || ”’ and coano=”’||coa_parent.coano||”’ ‘;
EXECUTE query INTO exist_db;

query = ‘select ‘||column_name_cd||’ from tsacledger where yearperiod=”’ || $1 || ”’ and coano=”’||coa_parent.coano||”’ ‘;
EXECUTE query INTO exist_cd;

select into acledger tsacledger.* from tsacledger where yearperiod=” || $1 || ” and coano=”||coa_parent.coano||”;

exist_db := exist_db + journalitem.amountofdebit;
exist_cd := exist_cd + journalitem.amountofcredit;

query = ‘update tsacledger set ‘||column_name_db||’ = ‘||exist_db||’, ‘||column_name_cd||’ = ‘||exist_cd||’ where yearperiod=”’ || $1 || ”’ and coano=”’||coa_parent.coano||”’ ‘;
EXECUTE query;

END IF;

count:=count-1;

IF(count>0)THEN
select into coa tschartofaccounts.* from tschartofaccounts where coano=”||coa_parent.coano||”;
ELSE
exit;

END IF;

END LOOP;

END IF;

query = ‘update tsacgeneraljournalitem set isposted = true where gjno = ”’||journalitem.gjno||”’ and gjtranslineid=’||journalitem.gjtranslineid||’ ‘;
EXECUTE query;

query = ‘update tsacgeneraljournal set isposted=true where gjno = ”’||journalitem.gjno||”’ ‘;
EXECUTE query;

END LOOP;

RETURN 1;

END;

$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION sppostingjournal(character varying, character varying) OWNER TO postgres;

Be stronger sweet-heart

Leave a comment

Ketika mutiara-mutiara itu terhempas dan terburai pertamakalinya,
Sepanjang diri menemani kokohnya karang,
Tak sangkakan akan sedahsyat itu angin yang dibawa arus panas musiman,
Betapa saat itu gulungan air dan hempasan gelombang menderu deram di raga,

Perairan mutlak dengan hadirnya arus,
Namun tak semua arus hempaskan karang dan hancurkan pantai
Dari kejauhan lautan itu senantiasa tampak tenang
Namun gelombang yang hadir ketepian juga satu penghadir pesona laut

Saatnya kapal mulai berajak berlayar ketengah
Bersama mengayuh dayung
Meski semakin petang, semakin tinggi gelombang yang akan menghadang
Namun gelombang itu juga yang kan menghantar kita, berlayar hingga berlabuh

Untukmu

2 Comments

Teman
Jalan yang tengah kau tapaki memang tidaklah mudah
Sungguh begitu banyak ranjau, onak dan duri
Begitu banyak tanjakan tajam dan turunan menukik
Butuh energi yang luar biasa serta kelapangan jiwa untuk menaklukkannya

Tapi, teman
Ingatlah jika dipenghujung jalan itu ada yang tengah menantimu
Dia telah lama menunggu seperti dirimu yang tengah terengah-engah menujunya
Jangan pernah lelah dan putus asa
Teruslah melangkah, teruslah berjuang

Taukah engkau teman
Dia menunggu wajahmu yang penuh senyuman, bukan muka penuh guratan luka lampau
Dia menunggu hatimu yang penuh cinta dan kasih yang utuh, bukan serpihan sisa kisah lama
Dia menunggu dengan sejuta harapan dan suka cita akan hadirnya dirimu yang selalu dipinta dalam doa-doanya

Jangan kecewakan dia
Jangan hempaskan harapannya

Jaga senyum mu selama diperjalanan
Jaga hatimu selagi melangkah
Jaga doa dan harapanmu agar tertaut tepat dengan pinta dan asanya

(keep spirit, keep istoqomah)


Sampel Counting Date Different – SQL Server

Leave a comment

select MONTH(b.TglEntry) as months, d.Customer, COUNT(b.HelpdeskID) as cases,
AVG (datediff(dd, b.TglEntry, b.FinishDate)) as [average days], a.Description
from HelpdeskStatId a
right join HelpDesk b on a.StatId = b.Status
right join Site c on b.Site = c.idSite
left join Customer d on b.idCustomer = d.idCustomer
group by MONTH(b.TglEntry), d.Customer, a.Description
order by MONTH(b.TglEntry)

Sampel PIVOT – SQL Server

Leave a comment

DECLARE @cols NVARCHAR(2000)

SELECT @cols = COALESCE(@cols + ‘,[' + kk.Description + ']‘,’[' + kk.Description + ']‘)
FROM
(
select a.Description
from HelpdeskStatId a
) kk

DECLARE @query NVARCHAR(4000)

SET @query = N’SELECT months,customer, cases, [average days], ‘+
@cols +’
FROM
( select aa.months, aa.Customer, bb.cases, bb.[average days], aa.Description, aa.kasus
from(
select MONTH(b.TglEntry) as months, d.Customer, count(b.HelpdeskID) as kasus , a.Description
from HelpdeskStatId a
right join HelpDesk b on a.StatId = b.Status
right join Site c on b.Site = c.idSite
left join Customer d on b.idCustomer = d.idCustomer
where year(b.TglEntry) = 2010
group by MONTH(b.TglEntry), d.Customer, a.Description
) aa
left join(
select MONTH(b.TglEntry) as months, d.Customer, count(b.HelpdeskID) as cases ,
avg(datediff(dd, b.TglEntry, b.FinishDate)) as [average days]
from HelpdeskStatId a
right join HelpDesk b on a.StatId = b.Status
right join Site c on b.Site = c.idSite
left join Customer d on b.idCustomer = d.idCustomer
where year(b.TglEntry) = 2010
group by MONTH(b.TglEntry), d.Customer
)bb on aa.months = bb.months and aa.customer = bb.Customer
) p
PIVOT
(
sum(kasus)
FOR Description IN ( ‘+@cols +’ )
) AS pvt

order by months, customer

EXECUTE(@query )

Bukan

Leave a comment

Bukan apa-apa
Hamba hanya takut durhaka kepada-Mu
Bukan apa-apa
Hamba hanya tidak mau menjadi kufur atas nikmat-Mu
Bukan apa-apa
Hamba galau jika berputus-asa atas janji-Mu
Bukan apa-apa
Hamba masih merasa sangat lemah
Bukan apa-apa
Hamba masih goyah dan terombang-ambing
Bukan apa-apa
Hamba hanya ingin cinta-Mu selalu
Bukan apa-apa
Hamba takut sekali ditinggalkan oleh Mu

Allah
Allah
Allah

Cukup bagiku Engkau ya Rabb
Tuntun jalan hamba selalu
Kukuhkan tekad hamba selalu
Tautkan hati ini selalu
Kuatkan hamba ya Rabb, kuatkan…

Amin…

Keep Survive and Walk

Leave a comment

Tak terasa, sehari menjelang tepat 2 bulan perjalanan kita. Baru sedikit memang yang telah dilalui, namun sudah begitu banyak yang kita dapatkan. Banyak yang harus kita dipelajari, banyak yang mesti dipahami, dan banyak yang wajib kita mengerti.

Keberadaan kita satu sama lain adalah untuk saling berbagi, saling melengkapi. Cukuplah senyum yang hadir disetiap ujung canda tawa ataupun tangis duka lara. Tetaplah tersenyum. Karena itu yang mampu membuat kita tetap terjaga dan bertahan, untuk saling menopang, untuk senantiasa saling mengokohkan.

Semoga, perjalanan kita tetap seperti ini adanya, berbalut suka, meski kadang didera duka. Karena bersama, kita pasti bisa, melumpuhkan semua jenuh, membunuh segala keluh, memberi ruang dan menghadirkan kelapangan, mengubah susah menjadi mudah. Semua akan kita bangun dalam cinta dan kasih sayang, karena Allah semata.

Getir

Leave a comment

2 jam perjalanan menggunakan angkutan umum angkot, melewati pasar dan pemukiman. Matahari mulai condong kebarat, mengabarkan pada sejagad alam jika siang akan segera berganti malam. Wajah-wajah sendu itu. Berdiri dengan tatapan kosong, duduk dengan punggung lunglai, atau berjongkok dengan bertopang dagu. Bibir datar tak sedikitpun tergurat senyum, hanya mata seolah berbicara, kenapa hari begitu cepat berlalu, sementara dagangan mereka masih banyak memenuhi gerobak. Apa nanti yang akan dikabarkan pada anak-anak mereka yang tengah menanti sang ayah pulang dengan membawa uang bulanan sekolah yang telah seminggu dijanjikan. Apa nanti jawaban penenang kegundahan hati sang istri yang setiap hari didatangi tagihan sewa rumah. Apa yang akan dijadikan alasan lagi pada pemberi pinjaman modal yang sudah beberapa kali memberi peringatan untuk setoran secepatnya. Apa? Apa?

Sedih, perih, tapi itulah kehidupan. Tak kan tau rasanya manis, jika tidak pernah mencoba pahit. Tak kan berbeda rasanya nikmat jika tak pernah disuguhi getir. Sabar, tawakal, semua pasti ada jalan keluarnya. Besar kecil ujian hanyalah ukuran dimata manusia, karena sebelum terjadi pada seorang manusia, sang Khalik telah terlebih dahulu menakarnya, dan memastikan kita sanggup menjalani semua itu.

“Faizza azzamta fatawakal ‘alallah”

Ketika Tanya

4 Comments

Pertanyaan itu masih terlontar
Tapi jawab masih enggan menepis
Hingga tanya berulang dan berulang
Tapi…

Apakah pernah angin menanyakan pada awan sebelum hendak menggiringnya hingga tercipta hujan ?
Apakah pernah air hujan bertanya pada tanah sebelum turun dan membasahinya?
Apakah pernah malam bertanya pada siang untuk menghadirkan gelapnya?
Atau sebaliknya, apakah pernah siang bertanya pada malam untuk menggantikan gelapnya dengan benderang?

Apakah perlu dipertanyakan?
Apa tak cukup dirasakan halusnya sapuan angin?
Apa tak cukup dinikmati segarnya guyuran hujan?
Apa tak cukup dipandangi keindahan malam dan cerahnya siang?

Mungkin tak semua tanya perlu berjawab lisan
Tak semua risau perlu berbuah tanya
Tapi jikala itu penyebab galau
Angin akan membisikkan pada awan yang kemudian mengabarkan pada tanah
Malam pun akan berpamit pada siang yang juga akan selalu mengabarkan malam
Betapa dalam ketaatan pada titah TuhanNya
Untuk senantiasa berjalan dengan sepenuh cinta dan kasih sayang

(uhhibbukum fillah :) )

Older Entries

Follow

Get every new post delivered to your Inbox.