sql - GETDATE को परिवर्तित करना()हिजरी तिथि से yyyymmdd तक




sql-server sql-server-2012 (6)

मैं हिजरी प्राप्त करने की कोशिश कर रहा हूँ () और इसे इस प्रारूप yyyymmdd में परिवर्तित

मैंने पहले ही इस स्क्रिप्ट की कोशिश की है

SELECT CONVERT(VARCHAR(10), GETDATE(), 131)  

लेकिन यह मुझे इस प्रारूप (16/06/1438) देता है और वास्तव में मुझे क्या चाहिए (1438/06/16)


Answers

एसक्यूएल सर्वर ऐसी तारीखों के लिए स्वरूपण विकल्प के धन की पेशकश नहीं करता है, तो बस इसे स्वयं बनाएं:

SELECT (RIGHT(CONVERT(VARCHAR(10), GETDATE(), 131), 4) + '/' +
        CONVERT(VARCHAR(5), GETDATE(), 131)
       ) as hj_yyyymmdd

उफ़। सही विचार, गलत कार्यान्वयन:

SELECT (RIGHT(CONVERT(VARCHAR(10), GETDATE(), 131), 4) +
        SUBSTRING(CONVERT(VARCHAR(10), GETDATE(), 131), 3, 4) +
        LEFT(CONVERT(VARCHAR(10), GETDATE(), 131), 2)
   ) AS hj_yyyymmdd

क्वेरी नीचे का प्रयोग करें:

SELECT FORMAT ( GETDATE(), 'yyyy/MM/dd', 'ar-SA' )

आप निम्न क्वेरी का उपयोग कर सकते हैं:

SELECT REPLACE(CONVERT(VARCHAR(10), GETDATE(), 120),'-','/')

120 के साथ प्रयास करें:

SELECT CONVERT(VARCHAR(10), GETDATE(), 120) 

एक अन्य विकल्प convert लिए varchar convert करने convert लिए है तो फिर date फिर varchar

format() with 'ar-SA' का उपयोग 1 दिन पहले 131 शैली के साथ convert() का उपयोग convert() से पहले वापस आ रहा है।

select Method='multiconvert'
  ,conversion = convert(varchar(10)
    ,convert(date,convert(varchar(12),getdate(),131),103),112)
union all 
select 'format'
  , format ( getdate(), 'yyyyMMdd', 'ar-SA' )
union all
select 'style131'
  ,convert(varchar(12),getdate(),131)

रिक्स्टर डेमो: http://rextester.com/LIX82417

रिटर्न

+--------------+--------------+
|    Method    |  conversion  |
+--------------+--------------+
| multiconvert | 14380616     |
| format       | 14380615     |
| style131     | 16/06/1438   |
+--------------+--------------+

इस्नाल की कोशिश करो

SELECT IsNULL(Name, 'John Doe')  FROM Users WHERE Id = @UserId

संपादित करें:

drop table users
go
create table users
(id int,name varchar(20))
go
insert into users select 1,'1'
 go
declare @userid int
set @userid = 1
select isnull(username.username, 'John Doe')
from (select @userid as userid) userid
outer apply (SELECT  name as username FROM Users WHERE Id = userid.userid ) username
--outer apply (SELECT  name as username FROM Users WHERE Id = @userid ) username






sql sql-server sql-server-2012