คำสั่ง Cast ต้องการแปลงประเภทข้อมูลของฟิวด์ PostalCode ที่เป็น double ให้เป็น int
SELECT CAST(PostalCode AS int) FROM Employees
คำสั่ง DATEDIFF หาระยะห่างระว่างวันที่
SELECT Name, DATEDIFF(StartDate,EndDate) As DiffDate FROM Employees //output name | DiffDate sumchai | 35
คำสั่ง Case เงื่อนไขของการแทนที่
SELECT Case Score When score <100 then 'A' When score <80 then 'B' When score <60 then 'C' When score <50 then 'F' FROM Student
คำสั่ง Case เงื่อนไขของการแทนที่
SELECT CASE Status WHEN 'Y' THEN 1 ELSE 0 END as status FROM Student //------ SELECT IIF(status = 'N' or status = 'Y', 1, 0) as status FROM Product
คำสั่ง อื่น ๆ
SELECT LTRIM(name) -- ลบช่องว่างของสตริงฟิวด์ name RTRIM(name," ") -- ตัวสิ่งที่ไม่ต้องการออกจากฟิวด์ ตัวอย่าง ตัด ช่องว่างของฟิวด์ name SUBSRING(name,5,8) -- เริ่มต้นแสดงที่ 5 และนับไปอีก 8 ตัว นำมาแสดงในฟิวด์ name SUBSRING(name,5,LEN(name)-4) -- อีกตัวอย่างเริ่มที่ 5 และ len - 4 คือเริ่มที่ 5 เป็นต้นไป LEN(name) -- ความยาวของ name REPLACE(name,' ','') -- ให้ฟิวด์ name ที่มีช่องว่าง ' ' ให้แทนด้วยช่องไม่ว่าง '' LEFT(name,3) -- เอาค่าในฟิวด์ name ซ้าย 3 ตัวแรก มาแสดง RIGHT(name,3) -- เอาค่าในฟิวด์ name ขวา 3 ตัวหลัง มาแสดง UPPER(name) -- กำหนดให้แสดงข้อมูลเป็นตัวใหญ่ LOWER(name) -- กำหนดให้แสดงข้อมูลเป็นตัวเล็ก DISTINCT(name) -- เอาฟิวด์ name ชื่อมีชื่อเหมือนกัน มาแสดงแค่ค่าเดียว CONVERT(varchar, CAST(FiledName AS money), 1) AS Number ให้แสดงตัวเลข 1230000 --> 1,230,000 FROM Student
SELECT Isnull(Field,0) --เมื่อค่าว่างให้เป็น 0 WHERE fieldname is not null -- ฟิวด์ไม่ว่างWHERE fieldname is null -- ฟิวด์ว่าง where InitialDia >= 920.00 -- มากว่าเท่ากับ and InitialDia <> 940 -- ไม่เท่ากับSELECT 9.5 AS Original, CONVERT(int, 9.5) AS int, CONVERT(decimal(6,4), 9.5) AS decimal;
check date = date
declare @Dateto datetime; // variable query in mssql set @Dateto = '05/05/2018'; select name from Employee where convert(varchar(6),registerDate,112) = convert(varchar(6),@Dateto,112)
Create Field Cover Type to Decimal
CAST(CASE WHEN c.CostTypeKey = 1 THEN e.ExpenseCost ELSE 0 END as Decimal) as Revenue
sql ต่อสตริง กรณี ที่เป็นค่าว่า ให้ใช้คำสั่ง COALESCE หรือใช้ ISNULL(FEILD,'')
SELECT COALESCE(P.PrefixThai,'') +' '+ L.LecturerName AS LecturerName
ถ้าข้อมูลไม่มีค่าว่า NULL ต่อแบบนี้ได้เลย ใช้ CONCAT
SELECT CONCAT(CustomerID,Name,Email) AS ConcatField
Set between Parameter DateFrom-To
SELECT * FROM TABLENAME WHERE Convert(varchar(8),t.DateFrom,112) between @dateFrom AND @dateTo // set parameter new SqlParameter("@dateFrom",dateFrom.ToString("yyyyMMdd")), new SqlParameter("@dateTo",dateTo.ToString("yyyyMMdd")),
Expression IIF(เงื่อนไข,true,false)
dataSet.Tables[this.TableSYPONBasketSchLayer].Columns["ActMeta"].Expression = " IIF( MatCodeFirst IN ('A','C','F') ,0 ,material_Actweight ) ";
Add field Select query
SELECT convert(bit,0) AS SelectFlag SELECT CAST(NULL AS INT) -- NULL SELECT CAST('' AS INT) -- 0 SELECT CAST('42' AS INT) -- 42
MSSQL DECLARE
declare @Dateto datetime; declare @UserID VARCHAR(30) ; set @Dateto = '01/04/2021'; set @UserID = 'S-0099'