SELECT CAST(CONVERT(CHAR(16), GetDate(),20) AS datetime) AS TagDateTime
Showing posts with label Date. Show all posts
Showing posts with label Date. Show all posts
Sunday, February 2, 2020
SQL Server - Select DateTime Without Minute
Thursday, November 7, 2019
เรียกดูข้อมูลทุก 15 นาที
ต้องการเรียกข้อมูลที่ลงท้ายด้วยนาที ที่ 0, 15,30 และ 45
แบบเดิม
SELECT Distinct TagDateTime, Column2, Column3
FROM YourTable
WHERE TagDateTime >=@D1 AND TagDateTime <=@D2
and (DATEPART(minute,tagdatetime) % 15) = 0
ORDER BY TagDateTime
อีกแบบ
SELECT TagDateTime, Column2, Column3
FROM YourTable
WHERE TagDateTime IN ( SELECT MIN(TagDateTime)
FROM YourTable
WHERE TagDatetime between @D1 and @D2
GROUP BY CONVERT(VARCHAR(8), TagDateTime, 112), DATEPART(HOUR ,TagDateTime),(DATEPART(MINUTE ,TagDateTime)/15)
)
และถ้าต้องการเรียกทุกชั่วโมง
SELECT TagDateTime, Column2, Column3
FROM YourTable
WHERE TagDateTime IN ( SELECT MIN(TagDateTime)
FROM YourTable
WHERE TagDatetime between @D1 and @D2
GROUP BY CONVERT(VARCHAR(8), TagDateTime, 112), DATEPART(HOUR ,TagDateTime)
)
แบบเดิม
SELECT Distinct TagDateTime, Column2, Column3
FROM YourTable
WHERE TagDateTime >=@D1 AND TagDateTime <=@D2
and (DATEPART(minute,tagdatetime) % 15) = 0
ORDER BY TagDateTime
อีกแบบ
SELECT TagDateTime, Column2, Column3
FROM YourTable
WHERE TagDateTime IN ( SELECT MIN(TagDateTime)
FROM YourTable
WHERE TagDatetime between @D1 and @D2
GROUP BY CONVERT(VARCHAR(8), TagDateTime, 112), DATEPART(HOUR ,TagDateTime),(DATEPART(MINUTE ,TagDateTime)/15)
)
และถ้าต้องการเรียกทุกชั่วโมง
SELECT TagDateTime, Column2, Column3
FROM YourTable
WHERE TagDateTime IN ( SELECT MIN(TagDateTime)
FROM YourTable
WHERE TagDatetime between @D1 and @D2
GROUP BY CONVERT(VARCHAR(8), TagDateTime, 112), DATEPART(HOUR ,TagDateTime)
)
Wednesday, February 7, 2018
SQL Command, Select, Date
DECLARE @D1 DateTime
DECLARE @D2 DateTime
SET @D1 = '2018-01-01'
SET @D2 = '2018-01-04'
แบบที่ 1 ที่เคยใช้
SELECT dateColumn, Column2 FROM YourTable WHERE dateColumn>= @D1 AND dateColumn <= @D2
แบบที่ 2 ใช้ BETWEEN
SELECT dateColumn, Column2 FROM YourTable WHERE dateColumn BETWEEN @D1 AND @D2
แบบที่ 3 กรณีต้องการเลือกตั้งแต่วันที่ 1 ของเดือนนั้น จนถึงวันที่เลือก และต้องการลดจำนวนพารามิเตอร์ลงจาก 2 ตัวเหลือ 1 ตัว
SELECT dateColumn, Column2 FROM YourTable WHERE dateColumn BETWEEN DATEADD(D,-(Day(@D2)-1),@D2) AND @D2
DECLARE @D2 DateTime
SET @D1 = '2018-01-01'
SET @D2 = '2018-01-04'
แบบที่ 1 ที่เคยใช้
SELECT dateColumn, Column2 FROM YourTable WHERE dateColumn>= @D1 AND dateColumn <= @D2
แบบที่ 2 ใช้ BETWEEN
SELECT dateColumn, Column2 FROM YourTable WHERE dateColumn BETWEEN @D1 AND @D2
แบบที่ 3 กรณีต้องการเลือกตั้งแต่วันที่ 1 ของเดือนนั้น จนถึงวันที่เลือก และต้องการลดจำนวนพารามิเตอร์ลงจาก 2 ตัวเหลือ 1 ตัว
SELECT dateColumn, Column2 FROM YourTable WHERE dateColumn BETWEEN DATEADD(D,-(Day(@D2)-1),@D2) AND @D2
Monday, March 20, 2017
Set language ใน SQL Server
Set language US_English
SELECT [TagDateTime]...
SELECT [TagDateTime]...
Friday, April 1, 2016
DATEPART
ต้องการหาว่า
มีวันไหนบ้างที่จำนวน Record ไม่เท่ากับ 1440
มีวันไหนบ้างที่จำนวน Record ไม่เท่ากับ 1440
SELECT count(TagDateTime) AS recCnt,DATEPART(year,[TagDateTime]) AS iYear ,DATEPART(month,[TagDateTime]) AS iMth ,DATEPART(day,[TagDateTime]) As iDay
FROM TableName
group by DATEPART(year,[TagDateTime]),DATEPART(month,[TagDateTime]),DATEPART(day,[TagDateTime])
having count([TagDateTime]) <> 1440
order by DATEPART(year,[TagDateTime]),DATEPART(month,[TagDateTime]),DATEPART(day,[TagDateTime])
Sunday, September 16, 2012
ตั้ง Culture ใน VB.Net
เริ่มต้นก็ Import ก่อน
แล้วใน Form_Load หรือ ก่อน InitializeComponent() ก็ตั้งค่ารูปแบบก่อนดังนี้
ส่วนตัวก็ตั้งค่าแบบ "en-GB" ก็สะดวกดี ผู้ใช้ไม่งง
Imports System.Threading Imports System.Globalization
แล้วใน Form_Load หรือ ก่อน InitializeComponent() ก็ตั้งค่ารูปแบบก่อนดังนี้
Thread.CurrentThread.CurrentCulture = New CultureInfo("en-GB")
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture
ส่วนตัวก็ตั้งค่าแบบ "en-GB" ก็สะดวกดี ผู้ใช้ไม่งง
Thursday, September 13, 2012
VB.net - Function หาวันแรกและวันสุดท้ายของเดือน
Private Function GetFirstDayOfMonth(ByVal _
dtDate As DateTime) As DateTime
Dim dtFrom As DateTime = dtDate
dtFrom = dtFrom.AddDays(-(dtFrom.Day - 1))
Return dtFrom
End Function
Private Function GetLastDayOfMonth(ByVal _
dtDate As DateTime) As DateTime
Dim dtTo As New DateTime(dtDate.Year, _
dtDate.Month, 1)
dtTo = dtTo.AddMonths(1)
dtTo = dtTo.AddDays(-(dtTo.Day))
Return dtTo
End Function
Monday, August 6, 2012
SQL Command - Select เฉพาะเวลาที่ต้องการ
ถาม ถ้าใน TABLE1 มีคอลัมน์ชื่อ DateColumn1 ชนิด DateTime
ใน TABLE1 นั้นมี Records ทุก ๆ ชั่วโมงทุก ๆ วัน
ถ้าเราต้องการเฉพาะเวลา 9.00 น.ของแต่ละวัน จะใช้คำสั่ง Select แบบไหน
ตอบ
สามารถใช้ฟังก์ชั่น DATEPART มีตัวอย่างดังนี้
SELECT * FROM TABLE1
WHERE DATEPART(hh, DateColumn1) = 9
ใน TABLE1 นั้นมี Records ทุก ๆ ชั่วโมงทุก ๆ วัน
ถ้าเราต้องการเฉพาะเวลา 9.00 น.ของแต่ละวัน จะใช้คำสั่ง Select แบบไหน
ตอบ
สามารถใช้ฟังก์ชั่น DATEPART มีตัวอย่างดังนี้
SELECT * FROM TABLE1
WHERE DATEPART(hh, DateColumn1) = 9
Thursday, June 21, 2012
Runtime Error , customError tag mode "Off"
Web App. ลองรันในเครื่องตัวเองได้พอ Up load ขึ้น Server รันหน้าที่มี Calendar แล้วก็เกิด Error แบบนี้
เท่านี้ก็จบ สามารถรันได้เป็นปกติ
ก็เลยทำตามคำแนะนำคือเพิ่ม Tag customErrors mode="off" เข้าไปใน Web.Config
แล้วรันใหม่ก็ปรากฏจุดที่ทำให้เกิด Error ที่บรรทัดที่เท่าไร
เมื่อพบว่าเกิด Error เกี่ยวกับรูปแบบของ Date จึงไปแก้ไข Code ที่ Page นั้นโดยเพิ่ม
UICulture = "en" Culture = "en-GB"
เข้าไปในบรรทัดแรกของ Page นั้นกลายเป็น
<%@ Page Language="VB" MasterPageFile="~/YourMasterPage.master" AutoEventWireup="false" CodeFile="YourPage.aspx.vb" Inherits="YourPage" UICulture = "en" Culture = "en-GB" title="Your Title" %>เท่านี้ก็จบ สามารถรันได้เป็นปกติ
Thursday, December 1, 2011
การแปลงวันที่ให้เป็น String ตามรูปแบบที่ต้องการ
การ convert Date String โดยบังคับปี ค.ศ. หรือ พ.ศ. ได้นั้น ทำดังนี้ครับ
หรือ
Dim d as Date
Dim s as String
d = Date.Parse(s, New CultureInfo("en-GB")) ' บังคับ ค.ศ.
d = Date.Parse(s, New CultureInfo("th-TH")) ' บังคับ พ.ศ.
หรือ
s = d.ToString(New CultureInfo("en-GB")) ' บังคับ ค.ศ.
s = d.ToString(New CultureInfo("th-TH")) ' บังคับ พ.ศ.
ไม่แนะนำให้ใช้ CDate เพราะไม่รู้ว่าเป็น ค.ศ. หรือ พ.ศ.
s = CDate(d).ToString("dd-MM-yyyy")
แต่จะแนะนำให้ใช้
s = d.ToString("yyyy-MM-dd", CultureInfo.CreateSpecificCulture("en-GB"))
(แต่ต้อง Imports System.Globalization ก่อน)
Thursday, June 9, 2011
คำนวณหาความแตกต่างระหว่างสอง DateTime ใน Crystal report
- ใช้ฟังก์ชัน DateDiff("s",DateTime1,DateTime2) โดยที่ DateTime1 เกิดก่อน DateTime2
- "s" คือ Interval Type มีการกำหนดรูปแบบดังนี้
yyyy Year
q Quarter
m Month
y Day of year
d Day (both "y" and "d" find the difference in days)
w Number of weeks between startDateTime and endDateTime
ww Number of firstDayOfWeek's between startDateTime and endDateTime
h Hour
n Minute
s Second
Wednesday, April 20, 2011
การหาระยะเวลาที่แตกต่างกัน Time Diff
Dim d1 As Date = Now
Dim d2 As Date = Now.AddMinutes(60)
Dim Tdiff As Double = DateDiff(DateInterval.Minute, d1, d2)
หมายเหตุ
d2 เป็นตัวตั้งและ d1 เป็นตัวลบ
DateInterval.xxx : xxx นี้เลือกได้ว่าต้องการเป็นหน่วยนาทีหรือชั่วโมงหรือวินาทีหรือวันหรือ... ลองเลือกดู
หรือจะใช้ Timespan ก็ได้
Dim d2 As Date = Now.AddMinutes(60)
Dim Tdiff As Double = DateDiff(DateInterval.Minute, d1, d2)
หมายเหตุ
d2 เป็นตัวตั้งและ d1 เป็นตัวลบ
DateInterval.xxx : xxx นี้เลือกได้ว่าต้องการเป็นหน่วยนาทีหรือชั่วโมงหรือวินาทีหรือวันหรือ... ลองเลือกดู
หรือจะใช้ Timespan ก็ได้
Dim TdiffHour as Decimal
Dim TimeDiff As TimeSpan
TimeDiff = d2 - d1
TdiffHour = TimeDiff.TotalHours
Thursday, February 17, 2011
แก้ปัญหากำหนดค่า Date ตามที่ต้องการแล้วเกิด Bug
Dim d1, d2 as Date
d1=New DateTime(dtpFrom.Value.Year, dtpFrom.Value.Month, dtpFrom.Value.Day, 8, 0, 0)
d2=New DateTime(dtpTo.Value.Year, dtpTo.Value.Month, dtpTo.Value.Day+1, 8,0,0) 'เกิด Bug
แก้โดย
Dim mdate As Date = dtpTo.Value
mdate = mdate.AddDays(1)
d2=New DateTime(mdate.Year, mdate.Month, mdate.Day, 8, 0, 0)
d1=New DateTime(dtpFrom.Value.Year, dtpFrom.Value.Month, dtpFrom.Value.Day, 8, 0, 0)
d2=New DateTime(dtpTo.Value.Year, dtpTo.Value.Month, dtpTo.Value.Day+1, 8,0,0) 'เกิด Bug
แก้โดย
Dim mdate As Date = dtpTo.Value
mdate = mdate.AddDays(1)
d2=New DateTime(mdate.Year, mdate.Month, mdate.Day, 8, 0, 0)
Tuesday, February 1, 2011
DateTime.ToString Method ()
Option Explicit
Option Strict
Imports System
Imports System.Globalization
Public Class MainClass
Public Shared Sub Main()
Dim dt As DateTime = DateTime.Now
Dim myformat() As String = {"d", "D", _
"f", "F", _
"g", "G", _
"m", _
"r", _
"s", _
"t", "T", _
"u", "U", _
"y", _
"dddd, MMMM dd yyyy", _
"ddd, MMM d ""'""yy", _
"dddd, MMMM dd", _
"M/yy", _
"dd-MM-yy"}
Dim mydate As String
Dim i As Integer
For i = 0 To myformat.Length - 1
mydate = dt.ToString(myformat(i), DateTimeFormatInfo.InvariantInfo)
Console.WriteLine(String.Concat(myformat(i), " :", mydate))
Next i
' Output.
'
' d :08/17/2000
' D :Thursday, August 17, 2000
' f :Thursday, August 17, 2000 16:32
' F :Thursday, August 17, 2000 16:32:32
' g :08/17/2000 16:32
' G :08/17/2000 16:32:32
' m :August 17
' r :Thu, 17 Aug 2000 23:32:32 GMT
' s :2000-08-17T16:32:32
' t :16:32
' T :16:32:32
' u :2000-08-17 23:32:32Z
' U :Thursday, August 17, 2000 23:32:32
' y :August, 2000
' dddd, MMMM dd yyyy :Thursday, August 17 2000
' ddd, MMM d "'"yy :Thu, Aug 17 '00
' dddd, MMMM dd :Thursday, August 17
' M/yy :8/00
' dd-MM-yy :17-08-00
End Sub 'Main
End Class 'MainClass
Subscribe to:
Posts (Atom)
