আমি যখন এসকিউএল-তে তারিখটি নির্বাচন করি তখন এটি হিসাবে ফিরে আসে 2011-02-25 21:17:33.933
। তবে আমার কেবল ডেটের অংশটি প্রয়োজন, এটি 2011-02-25
। কিভাবে আমি এটি করতে পারব?
আমি যখন এসকিউএল-তে তারিখটি নির্বাচন করি তখন এটি হিসাবে ফিরে আসে 2011-02-25 21:17:33.933
। তবে আমার কেবল ডেটের অংশটি প্রয়োজন, এটি 2011-02-25
। কিভাবে আমি এটি করতে পারব?
উত্তর:
আমার ধারণা তিনি একটি স্ট্রিং চান।
select convert(varchar(10), '2011-02-25 21:17:33.933', 120)
120 এখানে রূপান্তর ফাংশন যে আমরা ইনপুট তারিখ পাস বলে নিম্নলিখিত বিন্যাসে : yyyy-mm-dd hh:mi:ss
।
এসকিউএল সার্ভার ২০০৮ এর জন্য:
Convert(date, getdate())
দয়া করে https://docs.microsoft.com/en-us/sql/t-sql/function/getdate-transact-sql দেখুন
DATE
২০০৮ সালে নতুন
date
ডেটা-টাইপ নেই তাই এই সমাধানটিকে অবৈধ হিসাবে রেন্ডারিং করে।
দ্রুততম datediff
, যেমন
select dateadd(d, datediff(d,0, [datecolumn]), 0), other..
from tbl
তবে যদি আপনার কেবলমাত্র মানটি ব্যবহার করতে হয় তবে আপনি ডেটেড্ড এড়িয়ে যেতে পারেন, যেমন
select ...
WHERE somedate <= datediff(d, 0, getdate())
যেখানে datediff(d, 0, getdate())
সময় অংশ ব্যতীত আজকের তারিখটি ফিরিয়ে দিতে অভিব্যক্তিটি যথেষ্ট।
CAST (GETDATE () তারিখ হিসাবে) ব্যবহার করুন যা আমার পক্ষে সহজ কাজ করেছে।
CAST(order_date AS DATE)
CAST(
FLOOR(
CAST( GETDATE() AS FLOAT )
)
AS DATETIME
)
http://www.bennadel.com/blog/122-Getting-Only-the-Date-Part-of-a-Date-Time-Stamp-in-SQL-Server.htm
আপনি এই মত ব্যবহার করতে পারেন
SELECT Convert(varchar(10), GETDATE(),120)
জন্য 2008 পুরোনো সংস্করণ :
SELECT DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0)
কিছুটা দেরি হয়ে গেছে, তবে ওডিবিসি "কার্টেট" ফাংশনটি ব্যবহার করুন (অ্যাঙ্গেল ব্রেসেস 'এফএন' হল ওডিবিসি ফাংশন এস্কেপ ক্রম)।
SELECT {fn curdate()}
আউটপুট: 2013-02-01
SELECT {fn curdate()} FROM (SELECT 1) AS T(X)
করেন এবং প্রকৃত এক্সিকিউশন প্ল্যান (এক্সএমএল সংস্করণ) দেখুন তবে আপনি দেখতে পাবেন যে বাস্তবে মৃত্যুদন্ড কার্যকর করা হয়েছে তা CONVERT(varchar(10),getdate(),23)
। তাই এই ODBC ফাংশনের ডাটাটাইপ হয় varchar(10)
যার মানে আপনি একটি সাথে ভালো ফলাফল তুলনা করতে চান datetime
আপনার কাছ থেকে একটি অন্তর্নিহিত রূপান্তর পাবেন varchar(10)
করার datetime
একটি স্ট্রিং উপর yyyy-mm-dd
। এই অন্তর্নিহিত রূপান্তরটি ব্যর্থ হবে set dateformat dmy
।
আপনি এটিও চেষ্টা করে দেখতে পারেন।
SELECT CONVERT(DATE, GETDATE(), 120)
আপনার যদি সময় দরকার তবে শূন্যের মতো হতে হবে 2018-01-17 00:00:00.000
:
SELECT CONVERT(DATETIME, CONVERT(DATE, GETDATE()), 121)
ব্যবহার সহজ:
convert(date, Btch_Time)
নীচে উদাহরণ:
টেবিল:
Efft_d Loan_I Loan_Purp_Type_C Orig_LTV Curr_LTV Schd_LTV Un_drwn_Bal_a Btch_Time Strm_I Btch_Ins_I
2014-05-31 200312500 HL03 NULL 1.0000 1.0000 1.0000 2014-06-17 11:10:57.330 1005 24851e0a-53983699-14b4-69109
Select * from helios.dbo.CBA_SRD_Loan where Loan_I in ('200312500') and convert(date, Btch_Time) = '2014-06-17'
এটি খুব দেরীতে কিন্তু অনুসরণ আমার জন্য ভাল কাজ করেছে
declare @vCurrentDate date=getutcdate()
select @vCurrentDate
যখন ডেটা টাইপের তারিখ হয়, তখন ঘন্টাগুলি কেটে নেওয়া হত
পিএলএসকিউএল এ আপনি ব্যবহার করতে পারেন
to_char(SYSDATE,'dd/mm/yyyy')
প্রথমে তারিখটিকে ভাসতে রূপান্তর করুন (যা সংখ্যাসূচকটি প্রদর্শন করে), তারপর ROUND
সংখ্যাকে 0 দশমিক পয়েন্টে রূপান্তর করুন, তারপরে তারিখের সময় রূপান্তর করুন ।
convert(datetime,round(convert(float,orderdate,101),0) ,101)
আপনি যদি তারিখের প্রকারটি কেবল তারিখের ব্যবহার হিসাবে ফিরিয়ে দিতে চান
CONVERT(date, SYSDATETIME())
অথবা
SELECT CONVERT(date,SYSDATETIME())
অথবা
DECLARE @DateOnly Datetime
SET @DateOnly=CONVERT(date,SYSDATETIME())
এটা চেষ্টা কর.
SELECT DATEADD(DD, 0, DATEDIFF(DD, 0, GETDATE()))