-
MySQLで、秒数をTIMESTAMPに変換するにはどうすればよいですか?
これはUNIX_TIMESTAMP()の逆であり、FROM_UNIXTIME()関数を使用して実行できます。たとえば、11576070秒はTIMESTAMP ‘1970-05-1505:04:30’になります。 mysql> Select FROM_UNIXTIME(11576070); +--------------------------------+ | FROM_UNIXTIME(11576070) | +--------------------------------+ | 1970-
-
MySQL FROM_UNIXTIME()関数を使用して、TIMESTAMPデータ型の開始範囲をどのように知ることができますか?
ご存知のとおり、この関数は秒数をTIMESTAMP値に変換します。したがって、引数として0秒を指定すると、TIMESTAMPデータ型の開始範囲がわかります。 mysql> Select FROM_UNIXTIME(0); +-------------------------+ | FROM_UNIXTIME(0) | +-------------------------+ | 1970-01-01 05:30:00 | +-------------------------+ 1 row in set (0.
-
MySQLでTIMEとDATETIMEの値を数値形式に変換するにはどうすればよいですか?
TIME(N)およびDATETIME(N)値の数値形式への変換は、それらに0(+0)を追加することで実行できます。以下は、そのような種類の変換のルールです- INTEGERに変換 Nが0の場合、TIME(N)とDATETIME(N)の値は整数に変換されます。 たとえば、CURTIME()とNOW()の値は、次のように整数値に変換できます- mysql> SELECT CURTIME(), CURTIME()+0; +-----------+-------------------+ | CURTIME() | CURTIME()+0 | +---
-
MySQLに無効な日付を保存させるにはどうすればよいですか?
SQL MODEをALLOW_INVALID_DATESに有効にすると、MySQLは無効な日付をテーブルに保存することもできます。それを理解するために例を以下に示します- mysql> Insert into order1234(ProductName, Quantity, Orderdate) values('B',500,'2015-11-31'); Query OK, 1 row affected (0.06 sec) mysql> Select * from order1234; +-------------+----------+----
-
MySQLで生年月日からの年齢を計算する方法は?
生年月日からの年齢は次のように計算できます- mysql> SET @dob = '1984-01-17'; Query OK, 0 rows affected (0.00 sec) 上記のクエリは、「dob」変数に値「1984-01-17」を渡します。次に、以下のクエリで数式を適用した後、年齢を年単位で取得できます。 mysql> Select Date_format( From_Days( To_Days(Curdate()) - To_Days(@dob) ), '%Y' ) + 0 AS ‘Age in years; +----
-
ビューを使用してCHECKCONSTRAINTをエミュレートするにはどうすればよいですか?
MySQLは参照整合性のために外部キーをサポートしていますが、CHECK制約はサポートしていません。ただし、トリガーを使用してそれらをエミュレートできます。以下に示す例を使用して説明できます- 例 「car1」という名前のテーブルがあり、次のように2文字、ダッシュ、3桁、ダッシュ、2文字のような修正構文登録番号を持つことができるとします- mysql> Create table car1 (number char(9)); Query OK, 0 rows affected (0.32 sec) mysql> Insert into car1 values('AB-23
-
MySQLでは、年、週番号、曜日を指定して日付を計算するにはどうすればよいですか?曜日?
日付は次のように計算できます- mysql> SET @year=2017, @week=15, @day=4; Query OK, 0 rows affected (0.00 sec) 上記のクエリは、「年」、「週」、「日」の変数にそれぞれ値「2017」、「15」、「4」を渡します。次に、以下のクエリで数式を適用した後、日付を取得できます。 mysql> SELECT Str_To_Date( Concat(@year,'-',@week,'-',If(@day=7,0,@day) ), '%Y-%U-%w' ) AS Date;
-
MySQL GENERATEDCOLUMNを使用してCHECKCONSTRAINTをエミュレートするにはどうすればよいですか?
MySQLは参照整合性のために外部キーをサポートしていますが、CHECK制約はサポートしていません。ただし、トリガーを使用してそれらをエミュレートできます。以下に示す例を使用して説明できます- 例 次のように、2文字、ダッシュ、3桁、ダッシュ、2文字のような修正構文登録番号を持つことができる「car」という名前のテーブルがあるとします- mysql> Create table car2 (number char(9)); Query OK, 0 rows affected (0.32 sec) mysql> Insert into car2 values('AB-235
-
MySQLで指定された2つの日付の間の営業日を見つける方法は何ですか?
DATEDIFF(expr1、expr2)を使用すると、指定した2つの日付の間の営業日を見つけることができます。 たとえば、「2017-05-27」から「2017-05-23」までの営業日を検索する場合は、MySQLクエリ- mysql> Select DATEDIFF('2017-05-27','2017-05-23') AS 'Total Business Days'; +----------------------+ | Total Business Days | +----------------------+ | 4
-
MySQLで指定された2つの日付の間の24時間の日数を計算するにはどうすればよいですか?
DATEDIFF()関数では、値の日付部分のみが計算に使用されるため、TIMESTAMPDIFF()関数を使用して、指定された2つの日付の間の24時間制を計算できます。 たとえば、「2017-05-2711:59:00」から2017-05-2312:00:00までの24時間の完全な日を検索する場合、次のようになります。MySQLクエリ- mysql> Select TIMESTAMPDIFF(DAY, '2017-05-23 12:00:00' , '2017-05-27 11:59:00'); +----------------------------
-
MYSQLでは、日、月、または月と日の両方がゼロである日付をどのように保存できますか?日はゼロですか?
日、月、または月と日の両方がゼロであるような種類の日付を格納するには、SQLのモードをallow_invalid_datesモードに設定する必要があります。 mysql> set sql_mode = 'allow_invalid_dates'; Query OK, 0 rows affected (0.00 sec) mysql> insert into check_date(OrderDate) values('2017-00-00'); Query OK, 1 row affected (0.06 sec) mysql> select
-
MySQLのYEAR(2)とYEAR(4)の違いは何ですか?
YEAR(2)は、年を2桁の形式で格納します。たとえば、1969を1年に保存するために69と書くことができます。 YEAR(2)では、1970年から2069年(70年から69年)まで年を指定できます。 YEAR(4)は、年を4桁の形式で格納します。たとえば、1969年を1年として格納するには、19669と書く必要があります。 YEAR(4)では、1901年から2155年までの年を指定できます。 MySQLは、次のルールを使用して2桁の年の値を解釈します。 変動00〜69内の年の値は2000〜2069に変換されます。 70〜99の範囲の年の値は1970〜1999に変換されます。 日付
-
データベースとは何ですか?MySQLデータベースを使用する利点は何ですか?
データベースは、データのコレクションを格納する別個のアプリケーションです。各データベースには、保持しているデータを作成、アクセス、管理、検索、複製するための1つ以上の個別のAPIがあります。 ファイルシステム上のファイルやメモリ内の大きなハッシュテーブルなど、他の種類のデータストアも使用できますが、これらの種類のシステムでは、データのフェッチと書き込みはそれほど高速で簡単ではありません。 現在、私たちはリレーショナルデータベース管理システム(RDBMS)を使用して、膨大な量のデータを保存および管理しています。これは、すべてのデータが異なるテーブルに格納され、主キーまたは外部キーと呼ばれる他
-
現在使用している別のデータベースに格納されているテーブルに適用されている制約を確認するにはどうすればよいですか?
MySQL SHOW CREATE TABLEステートメントは、特定のテーブルに適用される制約と、現在使用している別のデータベースに格納されているそのテーブルに関するその他の詳細を提供します。その構文は次のようになります- 構文 SHOW CREATE TABLE db_name.table_name; ここで、table_nameは、制約を確認するテーブルの名前です。 Db_nameは、テーブルが格納されているデータベース名の名前です。 例 この例では、MySQLデータベースに保存されている「arena」という名前のテーブルの詳細を取得しています- mysql> Show Cre
-
MySQLでサポートされているDATEデータ型はいくつですか?
MySQLは、次の5種類のDATEデータ型をサポートします- 日付 -日付は1000-01-01から9999-12-31の範囲です。 「YYYY-MM-DD」はデフォルトの日付形式です。たとえば、1984年1月17日は1984-01-17として保存されます。 日時 −このデータ型は、1000-01-0100:00:00から9999-12-3123:59:59の範囲の時刻とともに日付をサポートします。 「YYYY-MM-DDHH:MM:SS」は、デフォルトのDATETIME形式です。たとえば、1984年1月17日の午後2:20は、1984-01-1714:20:00として保存されます。 タ
-
DEFAULT制約の使用は何ですか?テーブルの作成中にどのように列に適用できますか?
DEFAULT制約は、MySQLテーブルの列のデフォルト値を設定するために使用されます。列に適用される場合、その列に値を指定しないというデフォルト値が使用されます。その構文は次のようになります- 構文 DEFAULT default_value ここで、default_valueは列に設定されたデフォルト値です。 例 以下のクエリはworkersという名前のテーブルを作成し、列IDにデフォルト値1000を割り当てます。 mysql> Create table workers(Name Varchar(25), Id INT NOT NULL DEFAULT 1000); Query OK
-
MySQLDATEデータ型を時間値と一緒に使用できないのはなぜですか?
MySQL DATEデータ型のデフォルトの形式は「YYYY-MM-DD」であり、この形式では、時間値を格納することはできません。したがって、DATEデータ型を時間値と一緒に使用することはできないと言えます。 次の例でわかるように、MySQLは、日付とともに時刻を使用しても、日付値のみを返します。 mysql> select DATE("2017-09-25 09:34:21"); +-----------------------------------+ | DATE("2017-09-25 09:34:21") &n
-
MySQLテーブルの日付でレコードを検索する方法は?
次のようにProductName、Quantity、OrderDate列を持つテーブル「Order123」があるとします- mysql> Select * from Order123; +-------------+----------+------------+ | ProductName | Quantity | OrderDate | +-------------+----------+------------+ | A | 100 | 2017-05-25 |
-
AUTO_INCREMENTを列に適用するにはどうすればよいですか?
AUTO_INCREMENTは、列が値を自動的に取得することを意味します。これを説明するために、次のように「従業員」というテーブルを作成しました- mysql> Show Create Table employees\G *************************** 1. row *************************** Table: employees Create Table: CREATE TABLE `employees` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `Name` varchar(35)
-
MySQL DATETIMEデータ型とTIMESTAMPデータ型の違いは何ですか?
どちらのデータ型も、データを「YYYY-MM-DD HH:MM:SS」形式で保存し、日付と時刻を含みます。これらの類似性にもかかわらず、次の違いがあります- 範囲 −日時データ型は、1000-01-0100:00:00から9999-12-3123:59:59の範囲の時刻とともに日付をサポートします。ただし、タイムスタンプデータ型は、「1970-01-0100:00:01」から「2038-01-1908:44:07」の範囲の日付と時刻をサポートします。 サイズ −日時には、小数秒のデータを保存するために5バイトと3バイトが必要です。一方、タイムスタンプデータ型では、小数秒のデータを保存するため