Post by Goborijung at 2019-12-16 16:23:19 | ID: 328
/* Scalar Functions เป็นฟังก์ชั่นที่ให้ค่าผลลัพธ์แบบส่งกลับเพียงค่าเดียว โดยจะมีการส่งผ่าน Parameter เข้าไป หรือ ไม่มีก็ได้ */ /* Ex1 */ USE [GSSv2_Prod] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUNCTION udf_GetThaiDate ( @Date datetime ) RETURNS varchar(20) AS BEGIN DECLARE @ThaiDate varchar(20) DECLARE @ThaiMonth varchar(60) SET @ThaiMonth = 'ม.ค ก.พ มี.ค เม.ย พ.ค มี.ย ก.ค ส.ค ก.ย ต.ค พ.ย ธ.ค ' SET @ThaiDate = CAST(DAY(@Date) AS varchar(2)) + '' + SUBSTRING(@ThaiMonth,(MONTH(@Date)*5) -4,5) + '' + CAST(YEAR(@Date) +543 AS varchar(4)) RETURN @ThaiDate END GO /* USE : SELECT dbo.udf_GetThaiDate(GETDATE()) */ /* Ex2 */ CREATE FUNCTION GetDiffAmount ( @pAmount1 DECIMAL(18,2), @pAmount2 DECIMAL(18,2) ) RETURNS DECIMAL(18,2) AS BEGIN DECLARE @diffAmt DECIMAL(18,2) SET @diffAmt = @pAmount1 - @pAmount2 RETURN @diffAmt END GO /* USE : SELECT dbo.GetDiffAmount(10,15) */
Post by Goborijung at 2019-12-10 10:40:47 | ID: 263
คำสั่ง JOIN JOIN เป็นการเชื่อมข้อมูลตั้งแต่ 2 ตารางขึ้นไป โดยใช้คำสั่งคิวรี่เพี่ยงคำสั่งเดียว ผลลัพธ์ของคิวรี่ที่ได้จะเป็นข้อมูลชุดใหม่ ที่ได้จากการเชื่อมของตาราง ประเภทของการ JOIN จะประกอบไปด้วย INNER JOIN OUTER JOIN CROSS JOIN SELF JOININNER JOIN
เป็นการเชื่อมตั้งแต่ 2 ตารางขึ้นไปเข้าด้วยกัน โดยอาศัยคอลัมที่มีความสัมพันธ์กัน มาทำการเชื่อมโยงข้อมูลเข้าด้วยกัน เงื่อนไขคือ ดึงเฉพาะคอลัมที่มีข้อมูลตรงกัน จากทั้งสองตาราง Ex. SELECT * FROM table_a INNER JOIN table_b ON table_a.ProductID = table_b.ProductID หรือ SELECT u.UserName,u.NickName,s.Name AS SectionName FROM [User] u INNER JOIN Section s ON u.Section = s.OID WHERE u.NickName IS NOT NULLOUTER JOIN
เป็นการเชื่อมตั้งแต่ 2 ตารางขึ้นไปเข้าด้วยกัน ผลของการเชื่อมจะยึดตามรารางใดตารางหนึ่งตามที่กำหนด หรือ นำรายการของตารางทั้งหมดมารวมกัน ประกอบด้วย LEFT OUTER JOIN เชื่อมโดยยึดตารางทางด้านซ้ายมือของคำสั่ง RIGHT OUTER JOIN เชื่อมโดยยึดตารางทางด้านขวามือของคำสั่ง FULL OUTER JOIN เชื่อมตารางทางด้านซ้ายมือและขวามือเข้าด้วยกันLEFT OUTER JOIN
เป็นการเชื่อมตาราง ตั้งแต่ 2 ตารางเข้าด้วยกัน โดยจะตรวจสอบข้อมูลในคอลัมน์ที่ใช้เป็นเงื่อนไขในการเชื่อมโยงทั้ง 2 ตาราง โดยจะแสดงแถวข้อมูลจากตารางซ้ายทั้งหมด ส่วนตารางฝั่งขวา จะแสดงเฉพาะแถวที่มีเงื่อนไขตรงกับตารางฝั่งซ้ายเท่านั้น Note:: ตารางฝั่งซ้าย (ตารางที่ถูกประกาศก่อน) จะถูกแสดงทั้งหมด ตารางฝั่งขวา (ตารางที่ถูกประกาศทีหลัง) จะแสดงเฉาะแถวที่มีเงื่อนไขของข้อมูล ตรงกันกับตารางทางฝั่งซ้ายเท่านั้น Ex. SELECT * FROM table_a AS a LEFT OUTER JOIN table_b AS b ON a.column_name = b.column_name Ex. SELECT * FROM Section AS s LEFT OUTER JOIN [User] AS u ON s.OID = u.Section WHERE u.NickName IS NOT NULLRIGHT OUTER JOIN
เป็นการเชื่อมตาราง ตั้งแต่ 2 ตารางเข้าด้วยกัน โดยจะตรวจสอบข้อมูลในคอลัมน์ที่ใช้เป็นเงื่อนไขในการเชื่อมโยงทั้ง 2 ตาราง โดยจะแสดงแถวข้อมูลจากตารางขวาทั้งหมด ส่วนตารางฝั่งซ้าย จะแสดงเฉพาะแถวที่มีเงื่อนไขตรงกับตารางฝั่งขวาเท่านั้น Note:: ตารางฝั่งซ้าย (ตารางที่ถูกประกาศก่อน) จะถูกแสดงทั้งหมด ตารางฝั่งขวา (ตารางที่ถูกประกาศทีหลัง) จะแสดงเฉาะแถวที่มีเงื่อนไขของข้อมูล ตรงกันกับตารางทางฝั่งซ้ายเท่านั้น Ex. SELECT * FROM table_a AS a RIGHT OUTER JOIN table_b AS b ON a.column_name = b.column_name Ex. SELECT * FROM Section AS s RIGHT OUTER JOIN [User] AS u ON s.OID = u.Section WHERE u.NickName IS NOT NULLFULL OUTER JOIN
เป็นการเชื่อมตาราง ตั้งแต่ 2 ตารางเข้าด้วยกัน โดยนำข้อมูลในตารางทั้งฝั่งซ้ายมือ และ ขวามือมารวมกัน Ex. SELECT * FROM table_a AS a FULL OUTER JOIN table_b AS b ON a.column_name = b.column_name Ex. SELECT * FROM Section AS s FULL OUTER JOIN [User] AS u ON s.OID = u.Section WHERE u.NickName IS NOT NULLCROSS JOIN
เป็นการเชื่อมตารางตั้งแต่ 2 ตารางขึ้นไป โดยนำทุกๆแถวของตารางหนึ่ง มาเชื่อมกับข้อมูลทุกๆแถวของอีกตารางหนึ่ง ซึ่ง จำนวนแถวที่ได้ จะเท่ากับผลคูณของตารางที่นำมาเชื่อมกัน Ex. SELECT * FROM Section AS s CROSS JOIN [User] AS u WHERE u.NickName IS NOT NULL
Post by Goborijung at 2019-12-10 14:12:06 | ID: 267
SQL SERVER All Function แบ่งตามกลุ่มใหญ่ๆ 1. Aggregate Function 2. Mathematical Function 3. String Function 4. Date Function 5. Ranking Function 6. Null Function 7. Converting Data Type Function 8. System Function
Post by Goborijung at 2019-12-10 11:55:36 | ID: 266
EXEC sp_helptext 'VCartonMovement'
Post by Goborijung at 2019-12-06 16:26:07 | ID: 227
= != หรือ <> < <= !< > >= !> NOT จะแสดงข้อมูลที่ตรงกันข้ามกับเงือนไข ALL ตรวจสอบค่าด้านซ้าย กับ ข้อมูลทั้งหมดทุกแถวที่ได้จาก subquery ANY หรือ SOME ตรวจสอบค่าด้านซ้าย กับ ข้อมูลบางแถวที่ได้จาก subquery BETWEEN ใช้ทดสอบค่าของช่วงของข้อมูลที่จะค้นหา โดยใช้ AND เป็นตัวเชื่อมระหว่างค่าทั้งสอง EXISTS ใช้ทดสอบผลลัพธ์ที่ได้จาก subquery ร่วมกับคิวรี่ภายนอก IN ใช้ในการทดสอบค่าของข้อมูล ที่มี อยู่ในรายการที่กำหนดเท่านั้น IS NULL ใช้ทดสอบข้อมูล ที่เป็น NULL IS NOT NULL ใช้ทดสอบข้อมูลที่ไม่เป็น NULL LIKE ใช้ทดสอบค่าบางส่วนของข้อมูลที่มีค่าตรงกับที่กำหนด เช่น LIKE '%Admin%'
Post by Goborijung at 2019-12-10 11:50:35 | ID: 265
SELECT * FROM INFORMATION_SCHEMA.VIEWS
Post by Goborijung at 2019-12-06 13:48:34 | ID: 220
SELECT name FROM tempdb.dbo.sysobjects WHERE name LIKE '#%'
Post by Goborijung at 2020-01-14 13:37:25 | ID: 366
$qry = sqlsrv_query($conn,$sql,array(),array( "Scrollable" => 'static' ) ); หรือ $sql = "SELECT * FROM TableName"; $qry = sqlsrv_query($conn,$sql,array(),array("Scrollable" => 'static')); $numrow = sqlsrv_num_rows($qry);
Post by Goborijung at 2019-12-10 15:01:31 | ID: 283
SQRT(flot_expr) หาค่ารากที่สอง เมือ flot_expr มีค่าเป็นบวก Ex. SELECT SQRT(10) //Ouput : 3.1622776601684
Post by Goborijung at 2019-12-10 14:18:56 | ID: 274
STDEV หาค่าส่วนเบี่ยงเบนมาตรฐาน Ex. SELECT CONo ,STDEV(ORDQTYPCS) AS stdev_ordqty FROM TM_SO GROUP BY CONo ORDER BY CONo