Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > สอบถามพี่พี่ update วันที่ enddate จากวันที่ startdate ก่อนหน้า



 

สอบถามพี่พี่ update วันที่ enddate จากวันที่ startdate ก่อนหน้า

 



Topic : 135562



โพสกระทู้ ( 0 )
บทความ ( 0 )



สถานะออฟไลน์




รบกวนพี่พี่หน่อยนะคะ อยากจะเขียน sql script update ข้อมูลวันที่ ข้อมูลจะเป็น
Id startdate enddate
A1 01/01/2019 01/01/2019--> ต้องการแก้ enddate =19/01/2019
A1 20/01/2019 บรรทัดสุดท้ายของ id นั้นอยากให้ update เป็น NULL
A2 01/01/2019 01/01/2019--> ต้องการแก้ enddate =31/03/2019
A2 01/04/2019 07/06/2019-->ต้องการแก้ enddate =30/06/2019
A2 31/06/2019 บรรทัดสุดท้ายของ id นั้นอยากให้ update เป็น NULL


สิ่งที่อยากแก้ข้อมูลใน table คือ
1. ต้องการ update enddate ให้เป็น startdate -1 ของบรรทัดถัดไป (ให้วันที่ต่อกัน) ของแต่ละ id
2. Enddate ของแต่ละ id บรรทัดสุดท้ายของแต่ละ id เป็น NULL

ตั้งกระทู้ครั้งแรก ผิดพลาดอย่างไรแนะนำหน่อยนะคะ
ขอบคุณมากค่ะ



Tag : PHP, Ms SQL Server 2005, Ms SQL Server 2008, Ms SQL Server 2012, Ms SQL Server 2014, Ms SQL Server 2016







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2020-09-19 21:01:35 By : Pumpui749 View : 764 Reply : 3
 

 

No. 1



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



สถานะออฟไลน์


ทำการ คิวรี่ 2 ครั้ง
ครั้ง แรก เปลี่ยนวันที่ enddate = DATE_SUB( now, INTERVAL 1 DAY); วันที่ ปัจจุบัน - 1 วัน

ครั้งที่ 2 อัพเดท startdate = null ; field attribute ต้อง เป็น allow null ด้วย
ต้องหาค่า field ที่เป็น index ที่สามารถ บ่งบอกว่าเป็นค่าสุดท้าย
เช่น เลขที่ ที่เป็น autoincrement หรือ วันที่ ที่ไม่มีโอกาสซ้ำกัน

Code (SQL)
update m from (select max(auto_id) max_id , id from tablename group by id) as tmp, tablename as  m 
set startdate = null where m.auto_id = tmp.max_id







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-09-20 11:28:14 By : Chaidhanan
 


 

No. 2

Guest


ครั้ง แรก เปลี่ยนวันที่ enddate = DATE_SUB( now, INTERVAL 1 DAY); วันที่ ปัจจุบัน - 1 วัน

ครั้งแรกนี้ต้องการเปลี่ยน Enddate ให้เป็นวันที่ StartDate บรรทัดถัดไป -1 วัน ตัวนี้ต้องทำยังไงหรอคะ

A1 01/01/2019 01/01/2019--> ต้องการแก้ enddate =19/01/2019
A1 20/01/2019 บรรทัดสุดท้ายของ id นั้นอยากให้ update เป็น NULL

ครั้งที่ 2 อัพเดท startdate = null ; field attribute ต้อง เป็น allow null ด้วย
ต้องหาค่า field ที่เป็น index ที่สามารถ บ่งบอกว่าเป็นค่าสุดท้าย
เช่น เลขที่ ที่เป็น autoincrement หรือ วันที่ ที่ไม่มีโอกาสซ้ำกัน

ตัวนี้สามารถใช้ RowNum ได้ไหมคะ เพราะตารางนี้ไม่มี Row Number อ่ะจร้า

ตอนนี้ยังไม่ได้เลย รบกวนพี่พี่หน่อยได้ไหมคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-09-23 16:44:13 By : pumpui749
 

 

No. 3



โพสกระทู้ ( 1,458 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Blogger

ที่ไม่ได้ ไม่ได้ยังไงครับ ได้ลองทำตามคำแนะนำไปบ้างแล้วหรือยัง
นำส่วนที่ทำไปแล้วมาดู และบอกด้วยว่าติดส่วนไหน...ถ้างงแบบไปไม่เป็นเลย

SQL server มีฟังก์ชัน DATEADD() สำหรับบวกและลบวัน
https://www.w3schools.com/sql/func_sqlserver_dateadd.asp
https://www.mssqltips.com/sqlservertip/2509/add-and-subtract-dates-using-dateadd-in-sql-server/

ส่วน null ลอง
Code (PHP)
$updatedatenull = "UPDATE [TableName] SET [enddate] = null WHERE...";

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-09-23 23:22:56 By : PhrayaDev
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามพี่พี่ update วันที่ enddate จากวันที่ startdate ก่อนหน้า
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่