তারিখের সময় থেকে এক দিন বিয়োগ করুন


103

২ তারিখের সময়ের মধ্যে তারিখের পার্থক্য আনতে আমার কাছে একটি প্রশ্ন রয়েছে:

SELECT DATEDIFF(DAY, @CreatedDate , GETDATE())

Ex :

SELECT DATEDIFF(DAY, '2013-03-13 00:00:00.000' , GETDATE())

আমার কাছে এ জাতীয় একটি কোয়েরি কাজ করা দরকার যা তৈরির দিন থেকে একটি দিনকে বিয়োগ করবে:

SELECT DATEDIFF(DAY, **@CreatedDate- 1** , GETDATE())

4
কেন শুধু ফলাফল 1 যোগ করবেন না?
ড্যামিয়েন_আ_বিশ্বাসীরা

যদি ফলাফল থেকে ১ টি বিয়োগ করা পছন্দসই উত্তর দিচ্ছে, তবে আপনি যে প্রশ্নটি উত্থাপিত করেছেন তা ভুল বলে মনে হচ্ছে, যেহেতু ফলাফল থেকে বিয়োগ করা তারিখের আগের দিকে কয়েক দিন যোগ করার সমতুল্য ।
ড্যামিয়েন_এ_বিশ্বাসীরা

তারপরে আপনি আমার কাছে আমার প্রথম উত্তর হিসাবে যে অভিব্যক্তিটি পোস্ট করেছেন তা হ'ল আমি এটি ব্যবহার করব - আপনি এটি উত্তর হিসাবে পোস্ট করতে পারেন, তবে আমি যেমন বলেছি, এর অর্থ হল আপনার প্রশ্নটি সত্যই সঠিক নয় ( DATEDIFFমধ্যবর্তী 2003-03-12এবং আজকের 14) , 12 নয়)।
ড্যামিয়েন_আ_বিশ্বাসীরা

হ্যাঁ..আপনি ঠিক বলেছেন .. ফলাফলের সাথে বিপরীত কাজ করে ..
জেমস

উত্তর:


124

এটা চেষ্টা কর

SELECT DATEDIFF(DAY,  DATEADD(day, -1, '2013-03-13 00:00:00.000'), GETDATE())

বা

SELECT DATEDIFF(DAY,  DATEADD(day, -1, @CreatedDate), GETDATE())

4
ফিলিপ রেগোয়ের উত্তর অনুসরণ করে, আপনি একটি তারিখ থেকে দিনগুলি বিয়োগ করতে SELECT GETDATE () - 1 ব্যবহার করতে পারেন।
হোসে বার্বোসা

44

আপনি সঠিকভাবে কী করার চেষ্টা করছেন সে সম্পর্কে আমি নিশ্চিত নই, তবে আমি মনে করি এই এসকিউএল ফাংশন আপনাকে সহায়তা করবে:

SELECT DATEADD(day,-1,'2013-04-01 16:25:00.250')

উপরেরটি আপনাকে দেবে 2013-03-31 16:25:00.250

এটি আপনাকে একদিন ঠিক পিছনে নিয়ে যায় এবং কোনও মানক তারিখের সময় বা তারিখের ফর্ম্যাটে কাজ করে।

এই আদেশটি চালানোর চেষ্টা করুন এবং দেখুন যে এটি আপনাকে যা খুঁজছে তা দেয় কিনা:

SELECT DATEADD(day,-1,@CreatedDate)

34

আজকের তারিখ থেকে কেবল একদিন বিয়োগ করতে:

Select DATEADD(day,-1,GETDATE())

(আসল পোস্ট -7 ব্যবহৃত হয়েছিল এবং ভুল ছিল)


25

স্পষ্টতই আপনি তারিখের সময় থেকে আপনি যত দিন চান তার সংখ্যা বিয়োগ করতে পারেন।

SELECT GETDATE() - 1

2016-12-25 15:24:50.403




1

সত্যি বলতে আমি কেবল ব্যবহার করি:

select convert(nvarchar(max), GETDATE(), 112)

যা দেয় YYYYMMDD এটিকে থেকে বিয়োগ করে।

বা আরও সঠিকভাবে

select convert(nvarchar(max), GETDATE(), 112) - 1 

গতকাল তারিখের জন্য।

Getdate()আপনার মান দিয়ে প্রতিস্থাপন করুনOrderDate

select convert(nvarchar (max),OrderDate,112)-1 AS SubtractDate FROM Orders

এটা করা উচিত।


-1

আপনি এটি চেষ্টা করতে পারেন।

টাইমস্ট্যাম্প = 2008-11-11 13: 23: 44.657;

SELECT DATE_SUB(OrderDate,INTERVAL 1 DAY) AS SubtractDate FROM Orders

আউটপুট: 2008-11-10 13: 23: 44.657

আমি আশা করি, এটি আপনার সমস্যা সমাধানে সহায়তা করবে।


4
SQL সার্ভার. সমর্থন করে না INTERVALবা DATE_SUB
ড্যামিয়েন_এ_বিশ্বাসীরা

আদেশ দিন থেকে দিন (দিন, 45, অর্ডার তারিখ) নির্বাচন করুন। তুমি বুঝতে পেরেছ?
চিন্তান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.