Left(), Right(), Mid() ใน MySQL/PostgreSQL:
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 650   1
URL.หัวข้อ / URL
Left(), Right(), Mid() ใน MySQL/PostgreSQL:

ใน MySQL จะมีฟังก์ชันเหล่านี้เหมือนใน Access ทุกประการครับ

ลองอ่านเพิ่มเติมได้ที่ http://www.mysql.com/doc/en/String_functions.html#IDX1196

แล้วใน PostgreSQL ใช้อะไร?

ส่วน Postgres ไม่มีให้ แต่สามารถใช้ SubStr() หรือ SubString() ทำหน้าที่แทน Mid() แทนครับ

mydb=# SELECT SUBSTR('Quadratically',5,6);
substr
--------
ratica
(1 row)

หรือ

mydb=# SELECT SUBSTRING('Quadratically' from 5 for 6);
substring
-----------
ratica
(1 row)

MS SQL Server ไม่มี Mid() เหมือนกัน จึงใช้แบบนี้ด้วย

สำหรับ Right() นั้น ก็ประยุกต์ใช้ SubStr() กับ Char_Length() เข้วช่วย

-2 ตัวขวาสุด

mydb=# select substr('Quadratically',char_length('Quadratically')-2+1,2);
substr
--------
ly
(1 row)

-4 ตัวขวาสุด

mydb=# select substr('Quadratically',char_length('Quadratically')-4+1,4);
substr
--------
ally
(1 row)

ถ้าเป็น Left() จะใช้

- 4 ตัวซ้ายสุด

mydb=# select substr('Quadratically',1,4);
substr
--------
Quad
(1 row)

- 2 ตัวซ้ายสุด

mydb=# select substr('Quadratically',1,2);
substr
--------
Qu
(1 row)

หรือจะเขียนเป็นฟังก์ชัน Left() ไว้ใช้เลยก็ได้ ซึ่งเราสามารถสร้าง Function ใน PostgreSQL

ลองดูแบบนี้ครับ

mydb=# create function left(text, integer) returns text as '
mydb'# declare
mydb'# begin
mydb'# return substr($1,1,$2);
mydb'# end;
mydb'# 'language 'plpgsql';
CREATE

mydb=# select left('Quadratically',4);
left
------
Quad
(1 row)

ถ้าท่านอยากจะลองสร้าง Right() ก็ทดสอบได้เลยครับ โดยดูตัวอย่างจากข้างบนประกอบด้วย

1 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R06775
   
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.1296s