Q - สอบถามวิธี SELECT ข้อมูล ที่มีเครื่องหมาย (') single quote ได้อย่างไรครับ

เกี่ยวกับ ปัญหาการใช้งาน การติดตั้ง ฐานข้อมูล MySql Oracle MSSQL ect...
การเขียน คำสั่ง SQL เพื่อดึกข้อมูล บอร์ดนี้ควรระบุโครงสร้างตารางของท่านในคำถามด้วยนะ

Moderator: mindphp

User avatar
tatiya
PHP VIP Members
PHP VIP Members
Posts: 2845
Joined: 09/07/2018 9:35 am

Q - สอบถามวิธี SELECT ข้อมูล ที่มีเครื่องหมาย (') single quote ได้อย่างไรครับ

Postby tatiya » 27/02/2019 5:14 pm

ตอนนี้ผมต้องการ SELECT ข้อมูลใน ตารางชื่อ product ฟิวด์ชื่อ name ยกตัวอย่างที่ผมต้องการ SELECT คือ test'

ผมใช้ code นี้ SELECT แล้ว EROR เลยอยากทราบว่ามีวิธี SELECT ข้อมูลที่มี single quote อย่างไรครับ

Code: Select all


SELECT COUNT
(*)
FROM product
WHERE name LIKE 
'%test'%';


ผลลัพท์
ERROR: unterminated quoted string at or near "'"
LINE 4: WHERE name LIKE '%test'%'


********** Error **********

ERROR: unterminated quoted string at or near "'"
SQL state: 42601
Character: 131
Image Image Image GOODBYE AND GOODLUCK EVERYONE Love you all bye. Thank you for everything.
26/09/2019

User avatar
thatsawan
PHP VIP Members
PHP VIP Members
Posts: 18799
Joined: 31/03/2014 10:02 am
Contact:

Re: Q - สอบถามวิธี SELECT ข้อมูล ที่มีเครื่องหมาย (') single quote ได้อย่างไรครับ

Postby thatsawan » 27/02/2019 5:24 pm

SELECT name
FROM product
WHERE name LIKE '%test%';

ปกติ เเล้ว เอามาหาด้วย python ข้างนอกอีกทีได้ป่าว พร้อมกับนับจำนวนว่ามีกีอัน

User avatar
tatiya
PHP VIP Members
PHP VIP Members
Posts: 2845
Joined: 09/07/2018 9:35 am

Re: Q - สอบถามวิธี SELECT ข้อมูล ที่มีเครื่องหมาย (') single quote ได้อย่างไรครับ

Postby tatiya » 27/02/2019 5:29 pm

thatsawan wrote:SELECT name
FROM product
WHERE name LIKE '%test%';

ปกติ เเล้ว เอามาหาด้วย python ข้างนอกอีกทีได้ป่าว พร้อมกับนับจำนวนว่ามีกีอัน

เดี๋ยวลองดูครับ
Image Image Image GOODBYE AND GOODLUCK EVERYONE Love you all bye. Thank you for everything.
26/09/2019

User avatar
tatiya
PHP VIP Members
PHP VIP Members
Posts: 2845
Joined: 09/07/2018 9:35 am

Re: Q - สอบถามวิธี SELECT ข้อมูล ที่มีเครื่องหมาย (') single quote ได้อย่างไรครับ

Postby tatiya » 27/02/2019 6:21 pm

thatsawan wrote:SELECT name
FROM product
WHERE name LIKE '%test%';

ปกติ เเล้ว เอามาหาด้วย python ข้างนอกอีกทีได้ป่าว พร้อมกับนับจำนวนว่ามีกีอัน

แล้วสมมุตว่า ผมมีข้อมูล test' d testby แล้วผทนำมาจัดการด้วย python โดยใช้โค้ด

Code: Select all


"test' d testby".replace("'""")
print(
a)
 


ผลลัพท์คือ
test d testby

แล้วค่อยเอาเข้า sql

Code: Select all


SELECT COUNT
(*)
FROM product
WHERE name LIKE 
'%test d testby'%';


ผลลัพท์คือ ศูนย์
Image Image Image GOODBYE AND GOODLUCK EVERYONE Love you all bye. Thank you for everything.
26/09/2019

User avatar
tatiya
PHP VIP Members
PHP VIP Members
Posts: 2845
Joined: 09/07/2018 9:35 am

Re: Q - สอบถามวิธี SELECT ข้อมูล ที่มีเครื่องหมาย (') single quote ได้อย่างไรครับ

Postby tatiya » 27/02/2019 6:28 pm

tatiya wrote:
thatsawan wrote:SELECT name
FROM product
WHERE name LIKE '%test%';

ปกติ เเล้ว เอามาหาด้วย python ข้างนอกอีกทีได้ป่าว พร้อมกับนับจำนวนว่ามีกีอัน

แล้วสมมุตว่า ผมมีข้อมูล test' d testby แล้วผทนำมาจัดการด้วย python โดยใช้โค้ด

Code: Select all


= "test' d testby".replace("'", "")
print(
a)


ผลลัพท์คือ
test d testby

แล้วค่อยเอาเข้า sql

Code: Select all


SELECT COUNT
(*)
FROM product
WHERE name LIKE 
'%test d testby'%';


ผลลัพท์คือ 0


แก้ได้โดยให้ python เชค (') แล้วให้แทนที่ด้วย ('')

Code: Select all


= "test' d testby".replace("'", "''")
print(
a)
 


Code sql จะเป็นประมาณนี้

Code: Select all


SELECT COUNT
(*)
FROM product_product as p_p
LEFT JOIN product_template 
as p_t ON p_p.id p_t.id
WHERE name_template LIKE 
'%test''%'
 
Image Image Image GOODBYE AND GOODLUCK EVERYONE Love you all bye. Thank you for everything.
26/09/2019


Return to “SQL - Database”

Who is online

Users browsing this forum: No registered users and 13 guests