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

CTE त्रुटि:प्रकार एंकर और पुनरावर्ती भाग के बीच मेल नहीं खाते

वास्तव में यह क्या कहता है:

'name1' 'name' + CAST((rn+1) as varchar(255)) के लिए एक अलग डेटा प्रकार है

इसे आजमाएं (अवांछित)

;with cte as
(
select 1 as rn, CAST('name1' as varchar(259)) as nm
union all
select rn+1,nm = 'name' + CAST((rn+1) as varchar(255))
from cte a where rn<10)
select * from cte

मूल रूप से, आपको लंबाई का मिलान भी सुनिश्चित करना होगा। पुनरावर्ती बिट के लिए, आपको CAST('name' AS varchar(4)) का उपयोग करना पड़ सकता है अगर यह फिर से विफल हो जाता है



  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. SQL सर्वर में डेटा एक्सेस को सक्षम/अक्षम कैसे करें (T-SQL उदाहरण)

  4. SQL सर्वर लॉग शिपिंग और डिजास्टर रिकवरी इंस्टाल और कॉन्फ़िगरेशन -1

  5. डेटाबेस से सभी कनेक्शनों को समाप्त करने के लिए स्क्रिप्ट (RESTRICTED_USER ROLLBACK से अधिक)