วันศุกร์ที่ 15 ธันวาคม พ.ศ. 2560

Postgres command

//Postgres 9.6 
http://www.postgresqltutorial.com/postgresql-string-functions/

// SELECT
select p_id,p_name from p_tb;

select p_id,p_name from p_tb;
where p_name like '%foo%';

// ADD column
alter table p_tb
add column p_id integer,
add column p_name character varying(250),
add column p_pk serial primary key;

// DELTE column
alter table p_tb
drop column p_name;

// RENAME column
alter table p_tb
rename column p_name to p_name_t;

// UPDATE column
update p_tb
set name_ul = name;

update p_tb
set name_ul = initcap(name) where language = 'vietnam';


:: String Functions ::

ASCII(‘A’) >>> 65
CHR(65)
CONCAT(‘A’,’B’,’C’)
CONCAT_WS  CONCAT(‘,’,’A’,’B’,’C’)
FORMAT(‘Hello %s’,’PostgreSQL’)

INITCAP(‘hI tHERE’)   >>>   Hi There

LEFT(‘ABC’,1)
LENGTH(‘ABC’)
LOWER(‘hI tHERE’)
LPAD(‘123′, 5, ’00’)
LTRIM(‘00123’)
MD5(‘ABC’)
POSTION(‘B’ in ‘A B C’)
REGEXP_MATCHES SELECT REGEXP_MATCHES(‘ABC’, ‘^(A)(..)$’, ‘g’);
REGEXP_REPLACE(‘John Doe’,'(.*) (.*)’,’\2, \1′);
REPEAT(‘*’, 5)

REPLACE(‘ABC’,’B’,’A’)   >>>   ‘AAC’

REVERSE(‘ABC’)
RIGHT(‘ABC’, 2)
RPAD(‘ABC’, 6, ‘xo’)
RTRIM(‘abcxxzx’, ‘xyz’)
SPLIT_PART(‘2017-12-31′,’-‘,2)
SUBSTRING(‘ABC’,1,1)
TRIM
UPPER(‘hI tHERE’)

วันพุธที่ 6 ธันวาคม พ.ศ. 2560

convert geographic coordinate system

การแปลงค่าพิกัดจากองศา ลิปดา ฟิลิปดา เป็น แบบองศาทศนิยม



การแปลงค่าพิกัดจาก
องศา ลิปดา ฟิลิปดา (hddd?ddd’ddd.ddd’’) และ องศา ลิปดา ฟิลิปดา (hddd?ddd.ddd’
เป็น แบบองศาทศนิยม (hddd.ddd?)
ตัวอย่างที่ องศา ลิปดา ฟิลิปดา (hddd?ddd’ddd.ddd’’)
Lat  13 ํ 45 53.7’’ N
Long  100 ํ 32' 17.9’’ E
ขั้นตอนที่ 1 หาค่าลิปดา นำค่าลิปดาหารด้วย 60 จะได้
Lat  13 ํ 45 53.7’’ N
ลิปดา = 45/60
ลิปดา = 0.75
Long  100 ํ 32' 17.9’’ E
ลิปดา = 32/60
ลิปดา = 0.533
ขั้นตอนที่ 2  หาค่าฟิลิปดา นำค่าฟิลิปดาหารด้วย 3600 จะได้
Lat  13 ํ 45 53.7’’ N
          ฟิลิปดา = 53.7/3600
          ฟิลิปดา = 0.014916
Long  100 ํ 32' 17.9’’ E
ฟิลิปดา = 17.9/3600
          ฟิลิปดา = 0.004972
ขั้นตอนที่ 3 นำค่าลิปดาจากขั้นตอนที่ 1 +  ค่าฟิลิปดาจากขั้นตอนที่ 2
Lat  13 ํ 45 53.7’’ N
ลิปดา = 45/60
ลิปดา = 0.75
Lat  13 ํ 45 53.7’’ N
          ฟิลิปดา = 53.7/3600
          ฟิลิปดา = 0.014916
Lat 13 ํ 45 53.7’’ N 
                     = 13 ํ + (0.75+0.014916)
                     = 13 ํ + 0.764916
ดังนั้น       Lat  = 13.764916N
Long  100 ํ 32' 17.9’’ E
ลิปดา = 32/60
ลิปดา = 0.533
Long  100 ํ 32' 17.9’’ E
ฟิลิปดา = 17.9/3600
          ฟิลิปดา = 0.004972
Long  100 ํ 32' 17.9’’ E 
                     = 100 ํ + (0.533+0.004972)
                     = 100 ํ + 0.537972
ดังนั้น       Long  = 100.537972E
สรุป
Lat  13 45 53.7’’ N                        Lat  13.764916N
Long  100 32' 17.9’’ E                    Long  100.537972E