Thủ thuật xử lý DateTime trong MS SQL

Thủ thuật xử lý DateTime trong MS SQL

Hôm nay phải động đến vấn đề xử lý datetime trong SQL, lướt qua trên mạng thu thập về các hàm tiện ích phục vụ cho công việc. Các hàm cơ bản mà MS SQL cung cấp gồm có DATEADD, DATEDIFF, từ những hàm cơ bản này chúng ta có thể tạo ra những hàm tiện ích khác cho công việc gặp phải.

DATEADD(param1, amount, @datetime): Trả về kiểu datetime dựa vào thời điểm cho trước và khoảng thời gian thêm vào. Tham số param1, xác định đơn vị của khoảng thời gian thêm vào như yy(yyyy) cho năm, mm(m) cho tháng, dd(d) cho ngày. Ví dụ DateAdd(dd, 5, GetDate()).

DATEDIFF(<interval>, <startDate>, <endDate>): Trả về khoảng thời gian giữa 2 thời điểm cho trước.

<interval> có thể là các giá trị sau:

  • year
  • quarter
  • month
  • dayofyear
  • day
  • week
  • hour
  • minute
  • second
  • millisecond

Các hàm tiện ích

create function DateOnly(@DateTime DateTime) -- Returns @DateTime at midnight; i.e., it removes the time portion of a DateTime value. returns datetime as begin return dateadd(dd,0, datediff(dd,0,@DateTime)) end go 

create function Date(@Year int, @Month int, @Day int) -- returns a datetime value for the specified year, month and day -- Thank you to Michael Valentine Jones for this formula (see comments). returns datetime as begin return dateadd(month,((@Year-1900)*12)+@Month-1,@Day-1) end go

create function Time(@Hour int, @Minute int, @Second int) -- Returns a datetime value for the specified time at the "base" date (1/1/1900) -- Many thanks to MVJ for providing this formula (see comments). returns datetime as begin return dateadd(ss,(@Hour*3600)+(@Minute*60)+@Second,0) end go

create function TimeOnly(@DateTime DateTime) -- returns only the time portion of a DateTime, at the "base" date (1/1/1900) returns datetime as begin return @DateTime - dbo.DateOnly(@DateTime) end go

create function DateTime(@Year int, @Month int, @Day int, @Hour int, @Minute int, @Second int) -- returns a dateTime value for the date and time specified. returns datetime as begin return dbo.Date(@Year,@Month,@Day) + dbo.Time(@Hour, @Minute,@Second) end go

Bạn thấy bài viết này như thế nào?: 
No votes yet
Ảnh của Tommy Tran

Tommy Tran owner Express Magazine

Drupal Developer having 9+ year experience, implementation and having strong knowledge of technical specifications, workflow development. Ability to perform effectively and efficiently in team and individually. Always enthusiastic and interseted to study new technologies

  • Skype ID: tthanhthuy
  • Phone/Zalo: (+84) 944 225 212
  • WhatsApp: (+84) 944 225 212
  • Line Messenger: (+84) 944 225 212
  • Email: asaleotestf@gmail.com
  • Telegram Messenger: https:/t.me/tommytran0401

Quảng cáo việc làm

 

Thích hợp các bạn nữ mảng thợ may làm việc tại nước NGA

Đơn hàng Tuyển dụng 100 Thợ may đi Nga(đợt 1 tháng 3.2021, đợt 2 tháng 5.2021). Lương thực lãnh 800 USD, bao ăn ở, vé máy bay và visa, phí xuất cảnh(1800 USD)trả khi đi làm có lương. Bạn có thể liên hệ CÔNG TY qua Phone/Zalo: (+84) 944 225 212. Công ty sẽ tư vấn cho bạn.

Xem chi tiết: >>> https://bit.ly/3o9NOfR

Tìm kiếm bất động sản

 

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Chrome 17 - Nhanh và an toàn hơn

Chrome 17 - Nhanh và an toàn hơn

Tháng 2 có vẻ là một tháng bận rộn với Google, không lâu sau khi trình làng phiên bản Chrome cho nền tảng Android, Google đã tiếp tục phát hành phiên bản chính thức của Chrome 17 với nhiều cải tiến thực sự hiệu quả, cả về tốc độ lẫn tính năng.

Hướng dẫn code entity reference trong custom entities (no bundles)

Entities are a big boon to Drupal, just that the learning curve is a bit longer than CCKs and nodes. I've read a lot about how these entities work but the more I read, the more complex they sound.

Vô hiệu hoá các dịch vụ không mong muốn trong window 7

Trong phần 2 của loạt bài “17 cách để tăng tốc Windows 7″, chúng ta tiếp tục tìm hiểu thêm 6 cách để tăng tốc hiệu quả Windows 7 trên máy tính của mình.