Cara nya cukup mudah dan sederhana hanya perlu pakai LEFT, RIGHT, LEN, CHARINDEX
Script untuk mengambil bagian dari string setelah karakter tertentu :
Script untuk mengganti bagian dari string setelah karakter tertentu :
kamu Bingung ?? saya kasih contoh realitanya ya ;)
Kemudian kita ingin memisahkan data setelah koma pada kolom fullname
Untuk database Postgresql bisa lakukan perintah seperti ini :
split_part('abc~@~def~@~ghi', '~@~', 2)
Outputnya :
def
Script untuk mengambil bagian dari string setelah karakter tertentu :
SELECT
LEFT
(string_expression, CHARINDEX(expression_to_find, string_expression) - 1)
Script untuk mengganti bagian dari string setelah karakter tertentu :
SELECT
REPLACE
(
SUBSTRING
(string_expression, CHARINDEX(expression_to_find, string_expression), LEN(string_expression)), string_pattern, string_replacement)
kamu Bingung ?? saya kasih contoh realitanya ya ;)
Misal ada table employee seperti berikut ini :
Kemudian kita ingin memisahkan data setelah koma pada kolom fullname
Berikut Scriptnya :
SELECT
[FullName]
,
LEFT
([FullName], CHARINDEX(
','
, [FullName]) - 1)
AS
[Surname]
,
REPLACE
(
SUBSTRING
([FullName], CHARINDEX(
','
, [FullName]), LEN([FullName])),
','
,
''
)
AS
[FirstName]
FROM
Employee
Kemudian kita ingin memisahkan data setelah koma pada kolom fullname
untuk output nya kira-kira akan jadi seperti ini :
Untuk database Postgresql bisa lakukan perintah seperti ini :
Simple nya bisa di tulis seperti ini juga :select a, substring(a from 1 for position('_' in a) - 1) as part from test; a |part -----------+------ 98-004_c136|98-004 98-005_c171|98-005 P124_154 |P124
split_part('abc~@~def~@~ghi', '~@~', 2)
Outputnya :
def
2 di ganti jadi 1 hasilnya "abc"
Salam Sukses gan! Indahnya berbagi...
2 comments:
di postgres
saya mau memisahkan data sbb, dibedakan tanda + (plus) kadang ada tanda plus kadang tida
""
"10%"
"5%"
"5000"
"10000"
"10000+2%"
ketika saya jalankan ini
SELECT discexp, substring(discexp from 1 for position('+' in discexp) - 1) as discexp1 from saled;
maka errore
ERROR: negative substring length not allowed
********** Error **********
ERROR: negative substring length not allowed
SQL state: 22011
mohon bantuan
Post a Comment