-แก้ไข search พร้อม fonction ใหม่
All checks were successful
Build Docker Image / Build Docker Image (push) Successful in 3m10s
Build Docker Image / Restart Docker Compose (push) Successful in 0s

This commit is contained in:
x2Skyz
2025-11-25 16:10:10 +07:00
parent 0f176deb1b
commit 1cb3a2bc2d
3 changed files with 44 additions and 5 deletions

View File

@@ -0,0 +1,33 @@
-- FUNCTION: dbo.translatebdg(text)
-- DROP FUNCTION IF EXISTS dbo.translatebdg(text);
CREATE OR REPLACE FUNCTION dbo.translatebdg(
p_bdgcod text)
RETURNS text
LANGUAGE 'plpgsql'
COST 100
VOLATILE PARALLEL UNSAFE
AS $BODY$
DECLARE
resultName TEXT;
BEGIN
-- ใช้ string_to_array เพื่อแยก text '24,33' เป็น array ['24','33']
-- ใช้ ANY เพื่อหาว่า bdgcod อยู่ใน array นั้นไหม
-- ใช้ string_agg เพื่อรวมชื่อที่ได้กลับมาเป็น text เดียว คั่นด้วย ', '
SELECT string_agg(bdgnam, ', ')
INTO resultName
FROM dbo.bdgmst
WHERE bdgcod = ANY(string_to_array(p_bdgcod, ','));
-- ถ้าหาไม่เจอเลย ให้คืนค่าเดิมกลับไป (Optional: หรือจะคืน NULL ก็ได้)
IF resultName IS NULL THEN
RETURN p_bdgcod;
END IF;
RETURN resultName;
END;
$BODY$;
ALTER FUNCTION dbo.translatebdg(text)
OWNER TO postgres;