คำถามติดแท็ก datetime

สำหรับคำถามเฉพาะประเภทข้อมูลที่มีทั้งส่วนวันที่และเวลา

1
รูปแบบตัวอักษรวันที่ / เวลา LANGUAGE และ DATEFORMAT ปลอดภัยอย่างไร
มันเป็นเรื่องง่ายที่จะแสดงให้เห็นว่าวันที่ / เวลารูปแบบหลายอื่น ๆกว่าสองต่อไปนี้เป็นความเสี่ยงที่จะเข้าใจผิดเนื่องจาก SET ภาษาตลาดหลักทรัพย์ DATEFORMAT หรือภาษาเริ่มต้นการเข้าสู่ระบบของ: yyyyMMdd -- unseparated, date only yyyy-MM-ddThh:mm:ss.fff -- date dash separated, date/time separated by T แม้รูปแบบนี้โดยไม่มี T อาจดูเหมือนรูปแบบ ISO 8601 ที่ถูกต้อง แต่มันล้มเหลวในหลายภาษา: DECLARE @d varchar(32) = '2017-03-13 23:22:21.020'; SET LANGUAGE Deutsch; SELECT CONVERT(datetime, @d); SET LANGUAGE Français; SELECT CONVERT(datetime, @d); ผล: Die Spracheneinstellung …

3
Access (Jet) SQL: DateTime stamps ใน TableB ขนาบแต่ละ DateTime stamp ใน TableA
คำแรก คุณสามารถละเว้นส่วนด้านล่าง (และรวมถึง) อย่างปลอดภัยเข้าร่วม: เริ่มต้นปิดถ้าคุณเพียงแค่ต้องการที่จะถอดรหัสรหัส พื้นหลังและผลเพียงทำหน้าที่เป็นบริบท โปรดดูประวัติการแก้ไขก่อน 2015-10-06 หากคุณต้องการดูว่ารหัสดูเหมือนเป็นครั้งแรก วัตถุประสงค์ ในท้ายที่สุดผมต้องการที่จะคำนวณพิกัด GPS หยันสำหรับเครื่องส่งสัญญาณ ( XหรือXmit) ตามแสตมป์วันที่และเวลาของข้อมูลจีพีเอสที่มีอยู่ในตารางที่ด้านข้างโดยตรงสังเกตในตารางSecondTableFirstTable เป้าหมายทันทีของฉันในการบรรลุเป้าหมายสูงสุดคือการหาวิธีเข้าร่วมFirstTableให้ดีที่สุดSecondTableเพื่อรับคะแนนเวลาขนาบข้างนั้น ต่อมาฉันสามารถใช้ข้อมูลนั้นได้ฉันสามารถคำนวณพิกัด GPS ระดับกลางโดยสมมติว่าการปรับตำแหน่งเชิงเส้นตามระบบพิกัดแบบคู่ขนาน (คำที่น่าประหลาดใจที่จะบอกว่าฉันไม่สนใจว่าโลกเป็นทรงกลมในระดับนี้) คำถาม มีวิธีที่มีประสิทธิภาพมากกว่าในการสร้างการประทับเวลาก่อนและหลังที่ใกล้เคียงที่สุดหรือไม่ แก้ไขด้วยตัวเองโดยเพียงแค่คว้า "หลัง" แล้วรับ "ก่อน" เฉพาะเมื่อมันเกี่ยวข้องกับ "หลัง" มีวิธีที่ง่ายกว่าที่ไม่เกี่ยวข้องกับ(A<>B OR A=B)โครงสร้างหรือไม่ Byrdzeyeให้ทางเลือกพื้นฐาน แต่ประสบการณ์ "โลกแห่งความจริง" ของฉันไม่ตรงกับกลยุทธ์การเข้าร่วมทั้ง 4 ของเขาที่ทำแบบเดียวกัน แต่ให้เครดิตเต็มที่กับเขาสำหรับการระบุสไตล์การเข้าร่วมอื่น ความคิดเทคนิคและคำแนะนำอื่น ๆ ที่คุณมี ดังนั้นไกลทั้งbyrdzeyeและPhrancisค่อนข้างมีประโยชน์ในเรื่องนี้ ฉันพบว่าคำแนะนำของ Phrancisถูกจัดวางอย่างยอดเยี่ยมและให้ความช่วยเหลือในช่วงวิกฤติดังนั้นฉันจะให้เขาได้เปรียบที่นี่ ฉันยังคงขอขอบคุณความช่วยเหลือเพิ่มเติมใด ๆ ที่ฉันสามารถรับได้ในเรื่องข้อ 3 Bulletpoints …

5
ทำไม datetime การค้นหาของฉันจึงไม่ตรงกัน
select * from A where posted_date >= '2015-07-27 00:00:00.000' and posted_date <= '2015-07-27 23:59:59.999' แต่ผลลัพธ์มีบันทึกที่โพสต์วันนี้: 2015-07-28 เซิร์ฟเวอร์ฐานข้อมูลของฉันไม่ได้อยู่ในประเทศของฉัน อะไรคือปัญหา ?

6
วิธีที่ต้องการในการจัดเก็บ DateTime
เราสามารถจัดเก็บข้อมูลวันที่และเวลาได้หลายวิธี วิธีที่ดีที่สุดในการจัดเก็บข้อมูล DateTime คืออะไร การจัดเก็บวันที่และเวลาใน2 คอลัมน์แยกกันหรือหนึ่งคอลัมน์โดยใช้ DateTime ? คุณช่วยอธิบายได้ไหมว่าทำไมวิธีการนั้นถึงดีกว่า? (ลิงก์ไปยังเอกสาร MySQL สำหรับการอ้างอิงคำถามทั่วไปไม่ใช่เฉพาะ MySQL) ประเภทวันที่และเวลา : วันที่และเวลา

5
วิธีเพิ่ม 1 มิลลิวินาทีในสตริงวันที่และเวลา
จากการเลือกฉันสามารถส่งคืนแถว x แบบนี้: 1 2019-07-23 10:14:04.000 1 2019-07-23 10:14:11.000 2 2019-07-23 10:45:32.000 1 2019-07-23 10:45:33.000 เรามีมิลลิวินาทีทั้งหมดที่มี 0 มีวิธีเพิ่ม 1 ต่อ 1 มิลลิวินาทีหรือไม่ดังนั้นการเลือกจะเป็นดังนี้: 1 2019-07-23 10:14:04.001 1 2019-07-23 10:14:11.002 2 2019-07-23 10:45:32.003 1 2019-07-23 10:45:33.004 ฉันกำลังพยายามสร้างเคอร์เซอร์หรือแม้แต่การอัปเดตที่ไม่สำเร็จ นี่คือแบบสอบถามเพื่อให้ได้ผลลัพธ์ที่ฉันต้องการ: select top 10 ModifiedOn from [SCHEMA].[dbo].[TABLE] where FIELD between '2019-07-23 00:00' and '2019-07-23 23:59' …

1
MySQL 5.6 DateTime ค่าวันที่และเวลาไม่ถูกต้อง: '2013-08-25T17: 00: 00 + 00: 00' พร้อมรหัสข้อผิดพลาด 1292
ฉันใช้ MySQL 5.6 และฉันมีโปรแกรมที่รันคำสั่ง SQL ต่อไปนี้กับฐานข้อมูลของฉัน: UPDATE `m_table` SET `s_time` = '2013-08-25T17:00:00+00:00' WHERE id = '123' ไม่ได้รับการแจ้งเตือนฉันได้รับข้อผิดพลาดต่อไปนี้: ค่าวันที่และเวลาไม่ถูกต้อง: '2013-08-25T17: 00: 00 + 00: 00' สำหรับคอลัมน์ 's_time' ที่แถว 1 ประเภทข้อมูลสำหรับ s_time คือ DateTime ฉันพยายามตั้งค่าคุณสมบัติ allow_invalid_dates โดยใช้ workbench แล้ว ทุกคนสามารถเข้าใจและโปรดอธิบายข้อผิดพลาดนี้ให้ฉันได้ไหม ฉันรู้ว่าถ้าฉันเปลี่ยนคำสั่งเป็น UPDATE m_tableSET s_time= '2013-08-25 17:00:00' WHERE id = '123' คำสั่งนั้นจะทำงาน น่าเสียดายที่ฉันไม่สามารถปรับเปลี่ยนโปรแกรมที่ให้คำสั่ง …
15 mysql  datetime 

5
SQL Server Isnull ส่งคืน 1900-01-01 เมื่อเขตข้อมูลเป็นศูนย์
โค้ดต่อไปนี้จะคืนค่า 1900-01-01 เมื่อฟิลด์ DOB เป็นโมฆะ ฉันต้องการ (และคาดว่า) มันจะคืนค่าสตริงว่าง ('') แต่ไม่ใช่ ฉันจะดำเนินการเพื่อให้ได้ผลลัพธ์ที่ต้องการได้อย่างไร isnull(convert(date,DOB,1),'')

2
ปัญหาประสิทธิภาพการทำงานของ MySQL โดยใช้คอลัมน์วันที่จัดทำดัชนี
ฉันพยายามที่จะแก้ปัญหาต่อไปนี้เป็นเวลาประมาณหนึ่งชั่วโมงในขณะนี้และยังไม่ได้รับเพิ่มเติมด้วย โอเคฉันมีโต๊ะ (MyISAM): +---------+-------------+------+-----+-------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+-------------------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | http | smallint(3) | YES | MUL | 200 | | | elapsed | float(6,3) | NO | …

3
แยกคอลัมน์เดือนและปีหรือวันที่ที่มีวันตั้งเป็น 1 เสมอ
ฉันกำลังสร้างฐานข้อมูลด้วย Postgres ซึ่งจะมีการจัดกลุ่มของสิ่งต่าง ๆ มากมายโดยmonthและyearไม่เคยทำมาdateก่อน ฉันสามารถสร้างจำนวนเต็มmonthและyearคอลัมน์และใช้สิ่งเหล่านั้น หรือฉันอาจมีmonth_yearคอลัมน์และตั้งค่าเป็นday1 เสมอ อดีตดูเหมือนจะง่ายขึ้นเล็กน้อยและชัดเจนขึ้นถ้ามีคนดูข้อมูล แต่หลังนั้นดีในการใช้ประเภทที่เหมาะสม

2
การจัดการโซนเวลาใน data mart / คลังสินค้า
เราเริ่มออกแบบหน่วยการสร้างดาต้ามาร์ต / คลังสินค้าและเราต้องสามารถรองรับโซนเวลาทั้งหมด (ลูกค้าของเรามาจากทั่วทุกมุมโลก) จากการอ่านการสนทนาออนไลน์ (และในหนังสือ) ดูเหมือนว่าวิธีแก้ปัญหาทั่วไปจะมีมิติวันที่และเวลาแยกจากกันรวมถึงการประทับเวลาในตารางข้อเท็จจริง อย่างไรก็ตามคำถามที่ฉันมีเวลาตอบยากคือขนาดและวันที่และเวลาที่ดีสำหรับฉันจริง ๆ แล้วพิจารณาความต้องการโซนเวลาแบบไดนามิกของฉันได้อย่างไร มิติเวลาทำให้รู้สึกมากกว่าเล็กน้อย แต่ฉันมีเวลายากกับมิติวันที่ แนวทางการออกแบบทั่วไปสำหรับส่วนข้อมูลวันที่มักจะมีคุณสมบัติเช่นชื่อวันวันในสัปดาห์ชื่อเดือน ฯลฯ ปัญหาที่ฉันมีอยู่ทั้งหมดคือ 23.00 น. ในวันอังคารที่ 31 ธันวาคม 2013 ใน UTC คือวันพุธ , 1 มกราคม 2014 ในโซนเวลาทั้งหมดที่อยู่หลัง UTC + 2 ดังนั้นถ้าฉันจะต้องทำการแปลงโซนเวลาเหล่านี้ทั้งหมดในทุก ๆ แบบสอบถาม (และรายงาน) แล้วประเด็นของการมีและการจัดเก็บคุณสมบัติเหล่านี้ที่ฉันอาจจะไม่เคยใช้ (ดูเหมือน) คืออะไร? บางคนแนะนำให้มีแถวความจริงสำหรับแต่ละเขตเวลา แต่ดูเหมือนว่าไร้สาระสำหรับฉัน เราต้องสามารถเก็บบันทึกได้หลายล้านรายการในแต่ละเดือน คนอื่น ๆ แนะนำให้มีตารางบริดจ์โซนเวลาซึ่งแม้ว่าจะมีเหตุผลบางอย่าง แต่ก็ดูเหมือนว่าจะมีความซับซ้อนและการรวมพิเศษเพื่อให้บรรลุสิ่งที่ลูกค้าและแอพของฉันควรจะสามารถหาได้จากวันที่ (การรายงานจะใช้เว็บเป็นหลัก ที่ซึ่งมีไลบรารีจำนวนมากมายเพื่อช่วยในการแปลงแสดงและจัดรูปแบบวันที่) สิ่งเดียวที่ฉันคิดได้คือความง่ายและประสิทธิภาพของการจัดกลุ่มตามวันที่และเวลา แต่วิธีที่แย่คือการจัดกลุ่มตามวันที่ …

2
แปลงคอลัมน์วันที่และเวลาเป็นจำนวนวินาที
ในฐานข้อมูล SQL Server ของฉันฉันมีdatetimeคอลัมน์ เป็นวิธีที่ดีในการสร้างคอลัมน์ใหม่ที่แสดงlongค่าสำหรับdatetimeคอลัมน์อย่างไร longจะเป็นตัวแทนจำนวนวินาที ฉันคิดว่าถ้าฉันสามารถแปลงเป็นlongsมันจะทำให้ง่ายขึ้นในการจัดกลุ่มตามข้อความค้นหาในช่วงเวลาเนื่องจากฉันสามารถแบ่งจำนวนยาวด้วยจำนวนคงที่ได้ ตารางคงที่จะไม่อัปเดตหรือลบข้อมูล

4
วิธีสร้างแถวสำหรับทุกวันในช่วงวันที่โดยใช้กระบวนงานที่เก็บไว้ได้อย่างไร
ฉันต้องการสร้างกระบวนงานที่เก็บไว้ซึ่งจะสร้างแถวในตารางสำหรับทุกวันในช่วงวันที่ที่กำหนด กระบวนงานที่เก็บไว้ยอมรับสองอินพุต - วันที่เริ่มต้นและวันที่สิ้นสุดของช่วงวันที่ที่ผู้ใช้ต้องการ ดังนั้นสมมติว่าฉันมีตารางดังนี้ SELECT Day, Currency FROM ConversionTable Day คือ DateTime และ Currency เป็นเพียงจำนวนเต็ม เพื่อให้ง่ายขึ้นสมมติว่าฉันต้องการให้คอลัมน์สกุลเงินเป็น 1 สำหรับแต่ละแถวที่แทรกเหล่านี้ ดังนั้นหากมีคนป้อน '5 มีนาคม 2017' เป็นวันที่เริ่มต้นและ '11 เมษายน 2017' เป็นวันที่สิ้นสุดฉันต้องการสร้างแถวต่อไปนี้: 2017-03-05 00:00:00, 1 2017-03-06 00:00:00, 1 ... 2017-04-11 00:00:00, 1 วิธีที่ดีที่สุดในการเขียนโค้ดของกระบวนงานที่เก็บไว้เพื่อทำสิ่งนี้คืออะไร ฉันใช้ SQL Server 2008 R2 ในสภาพแวดล้อมการทดสอบของฉัน แต่สภาพแวดล้อมจริงของเราใช้ SQL Server 2012 ดังนั้นฉันสามารถอัพเกรดเครื่องทดสอบของฉันได้หากมีฟังก์ชั่นใหม่ที่เปิดตัวในปี …

1
ผลรวมช่วงเวลาของวันที่ภายในคอลัมน์เดียวกัน
คุณจะหาผลรวมของความแตกต่างของช่วงวันที่ในคอลัมน์เดียวกันระหว่างแถวแทรกได้อย่างไร ฉันมีคอลัมน์ Datetime และต้องการคำนวณความแตกต่างระหว่างแถว ฉันต้องการความแตกต่างในวินาที คำถามนี้ไม่ได้เกี่ยวกับวิธีสร้างความแตกต่างระหว่างการประทับเวลา 2 ครั้ง แต่จะเน้นไปที่วิธีการคำนวณที่มีประสิทธิภาพมากที่สุดระหว่างแถวในตารางเดียวกัน ในกรณีของฉันแต่ละแถวมีประเภทกิจกรรมวันที่ที่เชื่อมโยงกัน 2 แถวด้วยกันอย่างมีเหตุผล รายละเอียดที่เกี่ยวข้องกับวิธีการจัดกลุ่มประเภทเหตุการณ์ของการเริ่มต้นและสิ้นสุด (คำถามของ Andriy M) การเริ่มต้นและสิ้นสุด "ควร" ติดต่อกัน หากการเริ่มต้นไม่มีจุดสิ้นสุดที่ตามมาควรจะถูกปล่อยออกจากผลรวม การย้ายไปยังจุดเริ่มต้นถัดไปเพื่อดูว่ามีจุดจบหรือไม่ ควรเพิ่มจุดเริ่มต้น - คู่ที่ต่อเนื่องกันเท่านั้นในผลรวมของวินาทีทั้งหมด ทำงานใน postgresql 9.x ... ตัวอย่างข้อมูลในตาราง eventtype, eventdate START, 2015-01-01 14:00 END, 2015-01-01 14:25 START, 2015-01-01 14:30 END, 2015-01-01 14:43 START, 2015-01-01 14:45 END, 2015-01-01 14:49 START, …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.