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

मैं SQL में उचित भारित औसत तिथि कैसे प्राप्त करूं?

संभवतः, आपके कुछ ChargeOffDate NULL हैं , लेकिन उनके FaceValues नहीं हैं।

ये रिकॉर्ड पहली राशि में योगदान नहीं करते हैं लेकिन दूसरे में योगदान करते हैं।

WITH    q (ChargeOffDate, FaceValue) AS
        (
        SELECT  CAST('20030101' AS DATETIME), 1.0
        UNION ALL
        SELECT  CAST('20030201' AS DATETIME), 2.0
        UNION ALL
        SELECT  CAST('20030301' AS DATETIME), 3.0
        UNION ALL
        SELECT  NULL, 4.0
        )
SELECT  CONVERT(DATETIME, SUM(CONVERT(FLOAT, ChargeOffDate) * FaceValue) / SUM(FaceValue))
FROM    q

----
1961-11-12 21:36:00.000

इसका इस्तेमाल करें:

WITH    q (ChargeOffDate, FaceValue) AS
        (
        SELECT  CAST('20030101' AS DATETIME), 1.0
        UNION ALL
        SELECT  CAST('20030201' AS DATETIME), 2.0
        UNION ALL
        SELECT  CAST('20030301' AS DATETIME), 3.0
        UNION ALL
        SELECT  NULL, 4.0
        )
SELECT  CONVERT(DATETIME, SUM(CONVERT(FLOAT, ChargeOffDate) * FaceValue) / SUM(FaceValue))
FROM    q
WHERE   ChargeOffDate IS NOT NULL

----
2003-02-09 20:00:00.000



  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 में उपसमूह एकत्रीकरण करना

  3. TSQL डेटाटाइम फ़ील्ड से YYYY-MM-DD प्रारूप में दिनांक कैसे प्राप्त करें?

  4. निकाय डेटा मॉडल विज़ार्ड बहुत धीमा (SQL डेटाबेस)

  5. किसी दिनांक से जोड़ते या घटाते समय SQL सर्वर में "तिथि int के साथ असंगत है" को ठीक करें