সময়ের অংশ ব্যতীত কীভাবে বর্তমান তারিখ পাবেন


83

এসকিউএল সার্ভার ২০০৫-এ আমি কীভাবে সময়ের অংশ ব্যতীত বর্তমান তারিখটি পাব? আমি ব্যবহার করছি GETDATE()তবে এটির জন্য 00: 00: 00.0 সময় থাকতে চাই

উত্তর:


119

দ্রুততম আপনি যদি একটি রেকর্ড পুনরুক্তি উপর আছে এবং SQL সার্ভার 2008 সালে তারিখ না থাকলে

SELECT DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)

স্ট্যাকওভারফ্লোতে দুটি পৃথক এবং দুর্দান্ত উত্তর এটিকে বহন করে: এক , দুই

ভারচর রূপান্তরগুলি এটির মধ্যে সবচেয়ে খারাপ উপায়। অবশ্যই, একটি মানের জন্য এটি গুরুত্বপূর্ণ নয় তবে এটি প্রবেশ করা ভাল অভ্যাস।

এই উপায়টিও হতাশাবোধমূলক, যদি আপনি কোনও গণিত কলামকে সূচি দিতে চান তবে বলুন। এমন কি লোকেরা যারা এসকিউএল সার্ভার সম্পর্কে বই লেখেন তারা ডেটটাইম রূপান্তরগুলির দ্বারা ধরা পড়ে

এই কৌশলটিও প্রসারণযোগ্য।

  • গতকাল: DATEADD(day, DATEDIFF(day, 0, GETDATE()), -1)
  • মাসের শুরু: DATEADD(month, DATEDIFF(month, 0, GETDATE()), 0)
  • গত মাসের শেষ: DATEADD(month, DATEDIFF(month, 0, GETDATE()), -1)
  • পরের মাসের শুরু: DATEADD(month, DATEDIFF(month, 0, GETDATE()), 31)

সম্পাদনা:

যেমন আমি নির্ধারণবাদ সম্পর্কে উল্লেখ করেছি, আপনি স্টাইল 112 ব্যবহার না করে বর্ণচালনাগুলি নিরাপদ নয়।

অন্যান্য উত্তরগুলি এখানে নির্দেশ করে যে আপনি এটি কখনই কোনও কলামে প্রয়োগ করবেন না। এটি সঠিক, তবে আপনি 100k সারি নির্বাচন করতে বা কোনও গণিত কলাম বা তারিখ অনুসারে গ্রুপ যোগ করতে চাইতে পারেন। তারপরে আপনাকে এই পদ্ধতিটি ব্যবহার করতে হবে।

অন্য উত্তরে শৈলী ১১০-এর উল্লেখ রয়েছে This এটি ভাষা নয় বা সেট করুন তারিখের সুরক্ষিত এবং "ব্রিটিশ" ভাষা সেটিংয়ে ব্যর্থ। টিবোর করাসির তারিখের সময়কালীন ডেটাটাইপগুলির চূড়ান্ত গাইড দেখুন


1
প্রদত্ত লিঙ্কটি মারা গেছে।
বিশ্বনাথন আইয়ার

6

আপনাকে এটিকে রূপচর্চায় রূপান্তর করতে হবে বিন্যাসের ধরণটি নির্দিষ্ট করে (এই ক্ষেত্রে ১১০) তারপরে (বা কাস্ট) ডেটটাইমে ফিরে যেতে হবে।

select getdate(), cast(convert(varchar(10), getdate(), 110) as datetime)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.