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

पंक्ति प्राप्त करें जहां डेटाटाइम कॉलम =आज - SQL सर्वर noob

SQL सर्वर 2008 पर, आपके पास एक नया DATE होगा डेटा प्रकार, जिसका उपयोग आप इसे प्राप्त करने के लिए कर सकते हैं:

SELECT (list of fields)
FROM dbo.YourTable
WHERE dateValue BETWEEN 
   CAST(GETDATE() AS DATE) AND DATEADD(DAY, 1, CAST(GETDATE() AS DATE))

CAST(GETDATE() AS DATE) वर्तमान दिनांक और समय को केवल दिनांक मान पर कास्ट करता है, उदा। 6 अप्रैल, 2010 के लिए '2010-04-06' लौटाएं। उसमें एक दिन जोड़ना मूल रूप से आज के सभी डेटाटाइम मानों का चयन करता है।

SQL सर्वर 2005 में, ऐसा करने का कोई आसान तरीका नहीं है - मुझे यहां मिला सबसे सुंदर समाधान समान परिणाम प्राप्त करने के लिए DATETIME के ​​संख्यात्मक हेरफेर का उपयोग कर रहा है:

SELECT (list of fields)
FROM dbo.YourTable
WHERE dateValue BETWEEN 
   CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME) AND 
   DATEADD(DAY, 1, CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME))


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर - SQL सर्वर / TSQL ट्यूटोरियल पार्ट 111 में सेलेक्ट स्टेटमेंट में अज्ञात के साथ नल मानों को कैसे बदलें?

  2. क्या आप इन मेट्रिक्स के साथ SQL सर्वर के प्रदर्शन को माप रहे हैं?

  3. SQL सर्वर में SYSNAME डेटा प्रकार क्या है?

  4. एक संग्रहीत प्रक्रिया क्या है?

  5. IF का उपयोग कैसे करें ... फिर SQL सर्वर में तर्क