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

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

SQL सर्वर में उपयोग करने के लिए सुरक्षित डेटाटाइम स्ट्रिंग प्रारूप है

YYYYMMDD HH:MM:SS या YYYY-MM-DDTHH:MM:SS

यदि DATEFORMAT सेट करें तो आपका रूपांतरण विफल हो जाएगा डमी है। भाषा सेट करें स्वचालित रूप से आपके लिए दिनांक स्वरूप सेट कर देगा। मुझे लगता है दोनों german और norwegian डमी का उपयोग करें।

यह विफल हो जाएगा:

set language norwegian

declare @F7 varchar(10) = '26/04/2011'
declare @F8 varchar(10) = '00:09:13'

DECLARE @Date VARCHAR(20)
SET @Date = RIGHT(@F7,4)+'/'+SUBSTRING(@F7,4,2)+'/'+LEFT(@F7,2)

DECLARE @time DATETIME
SET @time =  CONVERT(DATETIME, @Date + ' ' + @F8)

इसके बजाय ऐसा करें (YYYY-MM-DDTHH:MM:SS का उपयोग करके) सुरक्षित रहने के लिए भाषा/डेटफॉर्मेट सेटिंग्स पर ध्यान दिए बिना।

declare @F7 varchar(10) = '26/04/2011'
declare @F8 varchar(10) = '00:09:13'

DECLARE @Date VARCHAR(20)
SET @Date = RIGHT(@F7,4)+'-'+SUBSTRING(@F7,4,2)+'-'+LEFT(@F7,2)

DECLARE @time DATETIME
SET @time =  CONVERT(DATETIME, @Date + 'T' + @F8)


  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. INSERT कथन मानों की एक गतिशील सूची बनाएं

  3. SQL सर्वर में एकल उद्धरण से बचना

  4. एसक्यूएल सर्वर 2008 में भूगोल डेटाटाइप कितना अच्छा है?

  5. SQL सर्वर एजेंट जॉब विफलता पर कई ऑपरेटरों को सूचित करें