2010-08-12 44 views
5

Sau đây là phiên bản đơn giản của truy vấn mà một công cụ báo cáo đang gửi đến cơ sở dữ liệu của chúng tôi. Tôi chưa bao giờ thấy cú pháp này trước đây trong mệnh đề Where. Ai đó có thể cho tôi biết những gì các dấu ngoặc đang làm? Và, tôi cho rằng 'd' đóng vai trò như một diễn viên ngày?Cú pháp lạ trong mệnh đề Where

Select 
    ch.ContainerID, 
    ch.WorkItemHistoryEventTypeEnumID, 
    ch.EventTime, 
    ch.ContainerBinName, 
    ch.WorkItemSerialNumber, 
    ch.Closed 
From Wip.vwContainerHistory ch 
Where 
    ch.EventTime >= {d '2010-08-09'} 

Trả lời

10

Xem phần "Định dạng chuỗi văn bản được hỗ trợ cho giờ" trong bài viết MSDN datetime.

{d 'XXXX-XX-XX'} là định dạng ngày giờ ODBC của bạn. Chuỗi thoát dấu thời gian ODBC có định dạng: { literal_type 'constant_value' }:

literal_type chỉ định loại trình tự thoát. Timestamps có ba specifiers literal_type:

  • d = ngày chỉ
  • t = thời gian chỉ
  • ts = timestamp (thời gian + ngày)

'constant_value' là giá trị của dãy thoát . constant_value phải tuân theo các định dạng này cho mỗi literal_type.

d > yyyy-mm-dd 
t > hh:mm:ss[.fff] 
ts > yyyy-mm-dd hh:mm:ss[.fff] 
Các vấn đề liên quan