ข้ามไปที่เนื้อหาหลัก

บทความ

กำลังแสดงโพสต์จาก มิถุนายน, 2015

[SQL SERVER] Select แล้ว Order by ให้ค่า Null อยู่ด้านล่าง

เฮ้ย ทำไมทำ Order  by แล้ว Null ขึ้นมาอยู่ด้านบน อยากจะเอาไว้ข้างล่าง เขียนยังไงหว่า.... ทำได้ หลายแบบ 1. รู้ว่าค่ามากสุด คืออะไร ORDER BY COALESCE ( Col , '9999-12-31 23:59:59.997' ) --COALESCE คือ Function ที่จะแทนที Empty หรือ NULL ด้วยข้อมูลที่เรากำหนดไว้ -- '9999-12-31 23:59:59.997' คือ ค่า Max Value ของ Column  ของคุณ -- Col คือชื่อ Column ของคุณ 2.ไม่รู้ว่าค่ามากสุดคืออะไร CASE WHEN Col Is NULL Then 1 Else 0 End , Col -- Col คือชื่อ Column ของคุณ ลองดูตัวอย่าง อันนี้ ***************************************************** Code: --Create Temp Table DECLARE @Temp table ( Col datetime ) INSERT INTO @Temp VALUES ( getdate ()) INSERT INTO @Temp VALUES ( '2007-10-19 09:54:03.730' ) INSERT INTO @Temp VALUES ( '2006-10-19 09:54:03.730' ) INSERT INTO @Temp VALUES ( '2005-10-19 09:54:03.730' ) INSERT INTO @Temp VALUES ( '2006-10-19 09:54:03.730' ) INSERT INTO @Temp V...

[SQL SERVER] ตัด 0 นำหน้าในตัวแปร Varchar

ตัด 0 นำหน้าในตัวแปร Varchar ผมได้เจอปัญหาว่าบางครั้งการแปลงข้อมูลตัวเลขเช่นเดือน Month = ‘02’ เมื่อต้องการเอามาใช้งานหรือเข้าสูตรต่อ โดยให้ Type Varchar เช่นเดิมนั้นเกิดปัญหา เพราะแหล่งข้อมูลที่เข้ามามีทั้ง ‘04’ และ ‘4’ ไปเจอที่ http://blog.sqlauthority.com/ 2012/11/19/ sql-server-removing-leading-zeros-from-column-in-table/ ของตาพิเนา....ตามนี้ ******************************************************** Code:             SUBSTRING ( ชื่อ Cloumn ,   PATINDEX ( '%[^0 ]%' ,   ชื่อ Cloumn +   ' ' ),   LEN ( ชื่อ Cloumn )) ******************************************************** ตัวอย่าง : USE   tempdb GO -- Create sample table CREATE TABLE   Table1   ( Col1   VARCHAR ( 100 )) INSERT INTO   Table1   ( Col1 ) SELECT   '0001' UNION   ALL SELECT   '000100' UNION   ALL SELECT   '100100' UNION   ALL SELECT   '000 0001' ...

[SQL SERVER] ใช้งาน TRY…CATCH ทำงานคู่กับ Transacton เพื่อยืนยันการทำรายการ

     หลายๆคน อาจรู้จักคำสั่ง Try … Catch ในภาษาอื่นๆมาบ้าง วันนี้ลองมาดู Try … Catch ใน SQL SERVER ( Transact-SQL ) กัน เพราะงานบางครั้งจำเป็นจะต้องมีการตรวจสอบการทำงานของคำสั่งว่าถูกต้องหรือไม่ หรือเมื่อมีความผิดพลาดเกิดขึ้นกับการทำงานของคำสั่ง จะทำอย่างไรต่อไป            บทความนี้จะเสนอแนวทางว่าถ้าเรานำมาช่วยในการตรวจสอบความผิดพลาด ในกรณีการทำงานกับ ข้อมูล Transaction นั้น สามารถทำได้อย่างไร >>> Red Code = คำสั่งเพิ่มเติมที่ใช้ดึงค่าการทำงานของ TRANSACTION ขณะนั้น Blue Bold Code = คำสั่ง Try … Catch ในบทความนี้ Light Green Code = Comment หรือคำอธิบายคำสั่ง – ขั้นตอนนั้นๆ เพื่อความเข้าใจมากขึ้น ********************************************************************** ตัวอย่างคำสั่ง ::: -- สร้างตารางข้อมูลชั่วคราวขึ้นมาเพื่อใช้ทำการทดสอบ Create table #TTB_Test ( ProductID varchar ( 20 )); insert into #TTB_Test values ( '777' ); insert into #TTB_Test Values ( '888' ); ...