Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

एक तिथि में मिलीसेकंड को छोड़ना

DATETIME2 का उपयोग करें , SQL Server 2008 में एक नया डेटाटाइप जो भिन्नात्मक परिशुद्धता का समर्थन करता है:

SELECT
  CONVERT(DATETIME2(0),SYSDATETIME()) [yyyy-mm-dd hh:mm:ss]
, CONVERT(DATETIME2(1),SYSDATETIME()) [yyyy-mm-dd hh:mm:ss.f]
, CONVERT(DATETIME2(2),SYSDATETIME()) [yyyy-mm-dd hh:mm:ss.ff]
, CONVERT(DATETIME2(3),SYSDATETIME()) [yyyy-mm-dd hh:mm:ss.fff]
, CONVERT(DATETIME2(4),SYSDATETIME()) [yyyy-mm-dd hh:mm:ss.ffff]
, CONVERT(DATETIME2(5),SYSDATETIME()) [yyyy-mm-dd hh:mm:ss.fffff]
, CONVERT(DATETIME2(6),SYSDATETIME()) [yyyy-mm-dd hh:mm:ss.ffffff]
, CONVERT(DATETIME2(7),SYSDATETIME()) [yyyy-mm-dd hh:mm:ss.fffffff]

रूपांतरण निकटतम इकाई के लिए होगा, जैसे:

2014-09-04 09:35:47.0162993 as DATETIME2(4) -> 
2014-09-04 09:35:47.0163

वैकल्पिक रूप से, SQL 2005 और इयरलर पर:

SELECT
  original  = GETDATE()
, [floor]   = DATEADD(ms,-DATEPART(ms,GETDATE()),GETDATE())
, [ceiling] = DATEADD(ms,1000-DATEPART(ms,GETDATE()),GETDATE())
, [rounded] = DATEADD(ms,CASE WHEN DATEPART(ms,GETDATE()) < 500 THEN 0 ELSE 1000 END-DATEPART(ms,GETDATE()),GETDATE())

यह एक स्ट्रिंग प्रस्तुति में और उससे कनवर्ट करने से थोड़ा तेज़ है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. रिकॉर्ड डालने का सबसे अच्छा अभ्यास क्या है यदि यह पहले से मौजूद नहीं है?

  2. SQL सर्वर फेलओवर क्लस्टर इंस्टालेशन -4

  3. ExecuteNonQuery:कनेक्शन गुण प्रारंभ नहीं किया गया है।

  4. SQL सर्वर का उपयोग कैसे करें ऑलवेजऑन फीचर्स

  5. SQL - एक varchar डेटा प्रकार का डेटाटाइम डेटा प्रकार में रूपांतरण के परिणामस्वरूप एक आउट-ऑफ-रेंज मान होता है