Query ข้อมูลSQLหลายคอลัมน์มาต่อกัน

ถ้าเราต้องการดึงข้อมูลจากหลาย ๆ คอลัมน์ใน SQL Server มาต่อกันให้ผลลัพธ์ออกมาค่าเดียวแทนที่จะออกมาหลายคอลัมน์ เราสามารถใช้คำสั่งในการเอา String มาต่อกันได้ โดยวิธีเอามาต่อกันของ SQL ขึ้นอยู่กับ SQL Server ที่เราใช้ยกตัวอย่างเช่น

Database: Microsoft Access

ใน Microsoft Access เราสามารถใช้เครื่องหมาย “+” ทำหน้าที่รวมค่า String ได้ เช่นตัวอย่างด้านล่างจะรวมค่าจากคอลัมน์ FirstName และ LAstName คั่นด้วยช่องว่างให้ผลลัพธ์ออกมาเป็น FullName

        
SELECT FirstName + ' ' + LastName As FullName FROM Employees

Database: Oracle

ในOracle จะใช้ฟังก์ชั่น CONCAT(string1, string2) หรือตัวดำเนินการ || ก็ได้  แต่ฟัก์ชั่น CONCAT จะไม่สามารถรวมค่าStringมากกว่าสองค่าได้ ดังนั้นถ้าต้องการรวมค่ามากกว่าสองค่าให้ใช้  || แทน ตัวอย่างด้านล่างจะได้ผลลัพธ์เหมือนของ MS Access

        
SELECT FirstName || ' ' || LastName As FullName FROM Employees

Database: MySQL

ในMySQL ก็มีฟังก์ชั่น CONCAT ซึ่งสามรถรวมค่าได้มากกว่าสองค่าเช่น CONCAT(string1, string2, string3…)

       
SELECT CONCAT(FirstName, ' ', LastName) As FullName FROM Employees

Database: Microsoft SQL Server ใช้เครื่องหมาย “+”

ใน MS SQL Server ก็สามารถใช้เครื่องหมาย + ได้ เช่น

 USE AdventureWorks;
SELECT GroupName + ' - ' + Name as AdventureWorksDept 
FROM [HumanResources].[Department]
ORDER BY GroupName 

และจะได้ผลลัพธ์ดังรูป

Concatenation in SQL Server 2008 R2 and below with the plus sign

About these ads
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s