মাইএসকিউএলে বর্তমান তারিখ এবং সময় কীভাবে পাবেন?


148

DATETIME এর মতো কোনও মান বা আদেশ আছে যা আমি বর্তমান তারিখ এবং সময় সন্নিবেশ করতে একটি ম্যানুয়াল ক্যোয়ারিতে ব্যবহার করতে পারি?

INSERT INTO servers (
  server_name, online_status, exchange, disk_space, network_shares
) VALUES(
  'm1', 'ONLINE', 'ONLINE', '100GB', 'ONLINE' 'DATETIME' 
)

শেষে উদ্ধৃত DATETIME মানটি যেখানে আমি বর্তমান তারিখ এবং সময় যুক্ত করতে চাই।



6
এখনই (), দেখুন dev.mysql.com/doc/refman/5.5/en/… ... এবং দয়া করে, পরবর্তী সময় আপনার প্রশ্নটির জন্য কমপক্ষে কিছু গবেষণা করার চেষ্টা করুন, এটি সহজেই গুগল করা যেতে পারে (অতএব আমি এই প্রশ্নটিকে সরিয়ে দিয়েছি )
dirkk

আমার প্রশ্নটি আরও উপরে লক্ষ্য করেছিলাম যে আমি কীভাবে এটি উপরে পোস্ট করা সিনট্যাক্সটিতে ব্যবহার করব।
স্যামুয়েল নিকোলসন

1
তার জন্য ফ্র্যানসিস্কোসের উত্তর দেখুন। তবে এটি খুব, খুব বেসিক, এটি কেবল একটি ফাংশন কল। অতএব, আবার, আপনার কোনও প্রশ্ন পোস্ট করার আগে ইস্যুতে আরও গবেষণার প্রচেষ্টা করা উচিত এবং এসকিউএল সম্পর্কিত কিছু নির্দেশাবলী পড়তেও পারেন।
dirkk

7
বিদ্রূপাত্মক। উত্তর খোঁজার চেষ্টা করার সময় আপনি এই উত্তরটি পাবেন!
জাচ স্মিথ

উত্তর:


266

আপনি ব্যবহার করতে পারেন NOW():

INSERT INTO servers (server_name, online_status, exchange, disk_space, network_shares, c_time)
VALUES('m1', 'ONLINE', 'exchange', 'disk_space', 'network_shares', NOW())

1
# 1054 - 'ক্ষেত্রের তালিকায়' অজানা কলাম 'স্ট্যাম্প' - আমি কি অনুপস্থিত কিছু আছে?
স্যামুয়েল নিকোলসন

44
আপনার ক্ষেত্রের নাম যা আছে তা দিয়ে কেবল স্ট্যাম্প প্রতিস্থাপন করুন। শুধু কপি এবং পেস্ট করবেন না।
francisco.preller

8
যদি এটি একটি "তারিখ" ক্ষেত্রের প্রকার হয় তবে আপনি এটিও ব্যবহার করতে পারেনcurdate()

32

ব্যবহারের CURRENT_TIMESTAMP () বা NOW ()

মত

INSERT INTO servers (server_name, online_status, exchange, disk_space,
network_shares,date_time) VALUES('m1','ONLINE','ONLINE','100GB','ONLINE',now() )

অথবা

INSERT INTO servers (server_name, online_status, exchange, disk_space,
network_shares,date_time) VALUES('m1', 'ONLINE', 'ONLINE', '100GB', 'ONLINE'
,CURRENT_TIMESTAMP() )

সময় সন্নিবেশ করতে আপনি যে কলামের নামটি ব্যবহার করতে চান তার সাথে তারিখ_টাইম প্রতিস্থাপন করুন।


25

অনেকগুলি গৃহীত উত্তর থাকলেও আমি মনে করি যে এটিও সম্ভব:

নিম্নলিখিত হিসাবে আপনার 'সার্ভার' টেবিল তৈরি করুন :

CREATE TABLE `servers`
(
      id int(11) NOT NULL PRIMARY KEY auto_increment,
      server_name varchar(45) NOT NULL,
      online_status varchar(45) NOT NULL,
      _exchange varchar(45) NOT NULL, 
      disk_space varchar(45) NOT NULL,
      network_shares varchar(45) NOT NULL,
      date_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
);

এবং আপনার INSERT বিবৃতিটি হওয়া উচিত :

INSERT INTO servers (server_name, online_status, _exchange, disk_space, network_shares)
VALUES('m1', 'ONLINE', 'ONLINE', '100GB', 'ONLINE');

আমার পরিবেশ:

4 জিবি র‍্যাম সহ কোর আই 3 উইন্ডোজ ল্যাপটপ, এবং আমি মাইএসকিউএল ওয়ার্কবেঞ্চ 6.2 (সংস্করণ 6.2.5.0 বিল্ড 397 64 বিট) এর উপরের উদাহরণটি করেছি




2

সঠিক উত্তরটি হ'ল SYSDATE ()

INSERT INTO servers (
    server_name, online_status, exchange, disk_space,
    network_shares, date_time
)
VALUES (
    'm1', 'ONLINE', 'ONLINE', '100GB', 'ONLINE', SYSDATE()
);

আমরা এই আচরণ এবং করতে পরিবর্তন করতে পারেন NOW()মতো একই ভাবে আচরণ SYSDATE()সেটিং দ্বারা sysdate_is_now করার কমান্ড লাইন আর্গুমেন্ট True

দ্রষ্টব্য যে NOW()(যার CURRENT_TIMESTAMP()একটি নাম হিসাবে আছে ), SYSDATE()একটি সূক্ষ্ম উপায়ে থেকে পৃথক :

SYSDATE () এটি কার্যকর করে এমন সময় দেয়। এটি এখন () এর আচরণ থেকে পৃথক, যা একটি ধ্রুবক সময় দেয় যা সেই সময়কে নির্দেশ করে যে বিবৃতিটি কার্যকর করা শুরু করেছিল। (একটি সঞ্চিত ফাংশন বা ট্রিগারটির মধ্যে এখনই () ফাংশন বা ট্রিগার বিবৃতি কার্যকর করতে শুরু করে এমন সময়টি দেয়))

ইরান্দি দ্বারা নির্দেশিত হিসাবে , ক্লজটি দিয়ে আপনার টেবিলটি তৈরি করা ভাল তবে DEFAULTযাতে আপনি একটি নতুন সারি sertোকানোর সময় কাস্টমটি স্ট্যাম্প স্ট্যাম্পের সাথে স্বয়ংক্রিয়ভাবে পপুলেটে যায়:

date_time datetime NOT NULL DEFAULT SYSDATE()

আপনি যদি বর্তমান তারিখটি যুগের ফর্ম্যাটে চান তবে আপনি UNIX_TIMESTAMP () ব্যবহার করতে পারেন । উদাহরণ স্বরূপ:

select now(3), sysdate(3), unix_timestamp();

ফলন হবে

+-------------------------+-------------------------+------------------+
| now(3)                  | sysdate(3)              | unix_timestamp() |
+-------------------------+-------------------------+------------------+
| 2018-11-27 01:40:08.160 | 2018-11-27 01:40:08.160 |       1543282808 |
+-------------------------+-------------------------+------------------+

সম্পর্কিত:


1

ডাটাবেস ডিজাইনে, ii উচ্চতর ধারাবাহিকতা এবং সূচি / অনুসন্ধান / তুলনা কর্মক্ষমতা জন্য ইউনিক্সটাইম ব্যবহার করার পরামর্শ দিন।

UNIX_TIMESTAMP() 

একের পর এক সর্বদা মানব পাঠযোগ্য বিন্যাসে রূপান্তর করা যায়, স্বতন্ত্রভাবে সবচেয়ে সুবিধাজনক হিসাবে আন্তর্জাতিককরণ।

FROM_ UNIXTIME (unix_timestamp, [format ])

1

যদি আপনি CURRENT_TIMESTAMPএটিতে ডিফল্ট মান পরিবর্তন করেন তবে এটি আরও কার্যকরতা,

ALTER TABLE servers MODIFY COLUMN network_shares datetime NOT NULL DEFAULT CURRENT_TIMESTAMP;

0

আপনি না শুধুমাত্র ব্যবহার করতে পারেন now(), current_timestamp()এবং localtimestamp()। ভুল ডিসপ্লে টাইমস্ট্যাম্পের মূল কারণ হ'ল একক উদ্ধৃতি সহ এখন () সন্নিবেশ করানো ! এই আইডিই মাইএসকিএল ফাংশনগুলির জন্য একক উদ্ধৃতি যুক্ত করেছে এবং আমি এটি একবারে চিনতে পারি নি) কারণ এটি মাইএসকিউএল ওয়ার্কবেঞ্চে আমার পক্ষে কাজ করে নি)

মাইএসকিউএল ওয়ার্কবেঞ্চের মতো একক উদ্ধৃতি সহ ফাংশন ব্যবহার করবেন না। এটি কাজ করে না।


-9
$rs = $db->Insert('register',"'$fn','$ln','$email','$pass','$city','$mo','$fil'","'f_name','l_name=','email','password','city','contact','image'");

আপনার শীঘ্রই আপনার উত্তরটি ব্যাখ্যা করা উচিত।
সেবাস্তিয়ান জার্টনার

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