sondmk header
SQL SERVER เบื้องต้น

SQL SERVER :: AGV Function หาค่าเฉลี่ยในกลุ่มข้อมูล

Post by Goborijung at 2019-12-10 14:14:48 | ID: 269

AGV หาค่าเฉลี่ยในกลุ่มข้อมูล
Ex.
SELECT CONo ,AVG(ORDQTYPCS) AS agv_ordqty
FROM TM_SO
GROUP BY CONo
ORDER BY CONo

SQL SERVER :: ALTER COLUMN

Post by Goborijung at 2019-12-06 09:59:41 | ID: 212

ALTER TABLE table_name ALTER COLUMN column_name data_type

Ex.
ALTER TABLE test ALTER COLUMN name nvarchar(100)

SQL SERVER :: Batch and Script (การเขียน Batch และ Script ในฐานข้อมูล)

Post by Goborijung at 2019-12-12 14:54:58 | ID: 312

/* Create Batch and Script */
/*
Batch 1 Batch จะสิ้นสุดด้วยคำสั่ง GO
Script เกิดจาก การรวมหลายๆ Batch เข้าด้วยกัน
*/

IF NOT EXISTS (SELECT * FROM sys.databases WHERE name = 'kk_test' )
BEGIN
	CREATE DATABASE kk_test
	PRINT 'Create database "kk_test" success.'
END
GO

USE kk_test
GO

IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID('[dbo].[kk_customer]') AND type IN ('U'))
BEGIN
	CREATE TABLE kk_customer
	(
	cus_no varchar(10) NOT NULL PRIMARY KEY,
	cust_name varchar(100) NOT NULL,
	cust_phone varchar(20)
	)
	PRINT 'Created table "kk_customer" success.'
END
GO

IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID('[dbo].[kk_product]') AND type IN ('U'))
BEGIN
	CREATE TABLE kk_product
	(
	product_code varchar(10) NOT NULL PRIMARY KEY,
	product_name varchar(100) NOT NULL,
	producy_type varchar(20)
	)
	PRINT 'Created table "kk_product" success.'
END
GO

/*
ตัวอย่างการ Run คำสั่งด้วย SQLCMD
sqlcmd -S S410717NB0201MSSQLSERVER2 -U sa -P gik8nv@tpf -i"d:TestScript.sql"
*/

SQL SERVER :: CELLING(numeric_expr) Function ปัดเศษขึ้นเป็นเลขจำนวนเต็ม

Post by Goborijung at 2019-12-10 14:59:16 | ID: 279

CELLING(numeric_expr) ปัดเศษขึ้นเป็นเลขจำนวนเต็ม
Ex.
SELECT CELLING(1234.01) //Output : 1235

SQL SERVER :: Converting Data Type Functions (ฟังก์ชั่นสำหรับแปลงข้อมูลต่างชนิดกัน ให้อยู่ในรูปแบบที่ใช้งานด้วยกันได้)

Post by Goborijung at 2019-12-11 14:53:12 | ID: 305

ref : https://saixiii.com/database-sql-data-types/

Converting Data Type Functions
เป็นฟังก์ชั่นสำหรับแปลงข้อมูลต่างชนิดกัน ให้อยู่ในรูปแบบที่ใช้งานด้วยกันได้

Style ที่จำเป็นต้องใช้สำหรับข้อมูลประเภท Datetime เพื่อแปลงให้เป็น Character

/* แปลง int ให้เป็น varchar */
declare @age as int = 20
select CAST(@age as varchar(4))

/* แปลง Date ให้อยู่ในรูปแบบ Style ที่ต้องการ */
/* 103 dd/mm/yy
105 dd-mm-yy
108 hh:mm:ss
111 yy/mm/dd */

select getdate()
select convert(varchar(10),GETDATE(),103) AS cdate103

/* ตรวจสอบว่ารูปแบบนั้นเป็นวันที่หรือไม่ Y?1:0 */
select ISDATE('2000-11-11')
select ISDATE('1000-11-11')

/* ตรวจสอบว่ารูปแบบนั้นเป็นตัวเลขหรือไม่ Y?1:0 */
select ISNUMERIC('2533')
select ISNUMERIC('2533s')

SQL SERVER :: COUNT Function นับจำนวนแถว ของกลุ่มข้อมูล

Post by Goborijung at 2019-12-10 14:15:39 | ID: 270

COUNT นับจำนวนแถวของกลุ่มข้อมูล
Ex.
SELECT CONo ,COUNT(ORDQTYPCS) AS count_ordqty
FROM TM_SO
GROUP BY CONo
ORDER BY CONo

Ex.
SELECT CONo ,COUNT(DISTINCT ORDQTYPCS) AS count_ordqty
FROM TM_SO
GROUP BY CONo
ORDER BY CONo

SQL SERVER :: CREATE TABLE

Post by Goborijung at 2019-12-06 09:44:31 | ID: 211

การสร้างแบบปกติ

CREATE TABLE table_name ( OID int NOT NULL, Name nvarchar(50), Address nvarchar(100), Tel nvarchar(20) )

การสร้างแบบกำหนด Primary Key ด้วย

CREATE TABLE table_name ( OID int NOT NULL PRIMARY KEY, Name nvarchar(50), Address nvarchar(100), Tel nvarchar(20) )

การสร้างแบบกำหนด Foreign Key ด้วย

Create Table H_ORDER ( Order_no int default 0 not null Primary key, Cus_id char(5) default '' not null, Order_Date datetime default '2000-01-01' not null, Foreign key (Cus_id) References CUS_NAME(Cus_id) )

SQL SERVER :: Cross Apply + Outer Apply

Post by Goborijung at 2019-12-20 10:32:55 | ID: 347

https://bit.ly/2Q6Momu

Cross Apply นั้นเป็น function เฉพาะของ MS SQL Server ซึ่งหลายคนอาจจะยังไม่เคยใช้ Statement นี้ ซึ่ง 
Cross Apply จะอนุญาตให้เรียบเรียงข้อมูลของ sub table โดยใช้ key ของ Table หลักเป็นเงื่อนไขในการ where clause 
โดยที่ sub table ยังสามารถใช้ Top หรือ 
Order by เพื่อสร้างรูปแบบข้อมูลที่เรียกว่า first from many row selection/retrieval ได้

OUTER APPLY มีรูปแบบเหมือนกับ LEFT JOIN ซึ่งอธิบายง่ายๆ คือหากไม่มีข้อมูลใน sub Table ก็จะแสดงค่า NULL ออกมา

** CROSS APPLY  จะให้ค่าเหมือนกันกับ INNER JOIN
Ex.
select top 2 * from Department d inner join [User] u on u.Department = d.OID
select top 2 * from Department d cross apply(select * from [User] u where u.Department = d.OID) u


** OUTER APPLY  จะให้ค่าเหมือนกันกับ LEFT JOIN
Ex.
select top 2 * from Department d left join [User] u on u.Department = d.OID
select top 2 * from Department d left outer join [User] u on u.Department = d.OID
select top 2 * from Department d outer apply(select * from [User] u where u.Department = d.OID) u

SQL SERVER :: CROSS JOIN (JOIN แบบ CROSS ซึ่งจะได้แถวเท่ากับผลคูณของตาราง) ** ไม่ค่อยได้ใช้จ้าา

Post by Goborijung at 2019-12-10 10:29:47 | ID: 262

CROSS JOIN
เป็นการเชื่อมตารางตั้งแต่ 2 ตารางขึ้นไป โดยนำทุกๆแถวของตารางหนึ่ง มาเชื่อมกับข้อมูลทุกๆแถวของอีกตารางหนึ่ง
ซึ่ง จำนวนแถวที่ได้ จะเท่ากับผลคูณของตารางที่นำมาเชื่อมกัน

Ex.
SELECT * FROM Section AS s
CROSS JOIN [User] AS u
WHERE u.NickName IS NOT NULL ORDER BY s.OID

SQL SERVER :: Date Function (ฟังก์ชั่นสำหรับจัดการเกี่ยวกับวันที่และเวลา)

Post by Goborijung at 2019-12-11 11:03:42 | ID: 297

Date Function
เป็นฟังก์ชั่นที่ใช้ในการจัดการเกี่ยวกับวันที่และเวลา ประกอบไปด้วยฟังก์ชั่นต่างๆดังนี้

/* get date */
select getdate() as getdates

/* get day */
select day(getdate()) as dates

/* add date 1 day */
select dateadd(day,1,getdate()) as date_add

/* add date 1 month */
select dateadd(month,1,getdate()) as month_add

/* add date 1 year */
select dateadd(year,1,getdate()) as year_add

/* หาจำนวนวันที่ห่างกันของวันเวลา (วัน) */
select datediff(day,'2018-12-11','2019-12-11') as day_diff

/* หาจำนวนวันที่ห่างกันของวันเวลา (เดือน) */
select datediff(month,'2018-12-11','2019-12-11') as month_diff

/* หาจำนวนวันที่ห่างกันของวันเวลา (ปี) */
select datediff(year,'2018-12-11','2019-12-11') as year_diff

/* แสดงชื่อ วัน */
select datename(day,GETDATE()) as day_name

/* แสดงชื่อ เดือน */
select datename(month,GETDATE()) as month_name

/* แสดงชื่อ ปี */
select datename(year,GETDATE()) as year_name

/* get day */
select datepart(day,GETDATE()) as day_part

/* get month */
select datepart(month,GETDATE()) as month_part

/* get day */
select datepart(year,GETDATE()) as year_part

/* get day */
select day('2019-12-11') as dayss

/* get month */
select month('2019-12-11') as months

/* get year */
select year('2019-12-11') as years

<<<...3456789101112...>>>

Framework

Library


เครื่องมือพัฒนาเว็บ



การออกแบบและพัฒนาเว็บไซต์


Download SourceCode



copyAllright © 2016 soundmk.com