MySQLにその月の週の組み込み関数はありますか?
MySQLには月の週を取得するための標準関数はありません。次の構文を使用する必要があります-
SELECT WEEK(yourDateColumnName, 5) - WEEK(DATE_SUB(yourDateColumnName, INTERVAL DAYOFMONTH(yourDateColumnName) - 1 DAY), 5) + 1 AS anyAliasName FROM yourTableName;
上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-
mysql> create table FirstWeekOfMonth -> ( -> Id int NOT NULL AUTO_INCREMENT primary key, -> yourdate date -> ); Query OK, 0 rows affected (2.50 sec)
これで、INSERTコマンドを使用してテーブルにいくつかのレコードを挿入できます。クエリは次のとおりです-
mysql> insert into FirstWeekOfMonth(yourdate) values('2019-01-18'); Query OK, 1 row affected (0.20 sec) mysql> insert into FirstWeekOfMonth(yourdate) values('2019-04-19'); Query OK, 1 row affected (0.19 sec) mysql> insert into FirstWeekOfMonth(yourdate) values('2019-05-20'); Query OK, 1 row affected (0.10 sec) mysql> insert into FirstWeekOfMonth(yourdate) values('2019-12-31'); Query OK, 1 row affected (0.19 sec) mysql> insert into FirstWeekOfMonth(yourdate) values('2019-10-05'); Query OK, 1 row affected (0.12 sec) mysql> insert into FirstWeekOfMonth(yourdate) values('2019-08-25'); Query OK, 1 row affected (0.16 sec)
selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです-
mysql> select *from FirstWeekOfMonth;
以下は出力です-
+----+------------+ | Id | yourdate | +----+------------+ | 1 | 2019-01-18 | | 2 | 2019-04-19 | | 3 | 2019-05-20 | | 4 | 2019-12-31 | | 5 | 2019-10-05 | | 6 | 2019-08-25 | +----+------------+ 6 rows in set (0.00 sec)
これがその月の週を取得するためのクエリです-
mysql> SELECT WEEK(yourdate, 5) - -> WEEK(DATE_SUB(yourdate, INTERVAL DAYOFMONTH(yourdate) - 1 DAY), 5) + 1 as FirstWeekDemo from FirstWeekOfMonth;
以下は出力です-
+---------------+ | FirstWeekDemo | +---------------+ | 3 | | 3 | | 4 | | 6 | | 1 | | 4 | +---------------+ 6 rows in set (0.00 sec)
-
MySQLテーブルにない値をデータベースに照会しますか?
このために、WHERE NOTEXISTSとともにUNIONALLを使用し、NOT INを実装して、テーブルにすでに存在する値を無視することができます。 UNION ALLでSELECTを使用して、まだテーブルにない値を追加します。 まずテーブルを作成しましょう- mysql> create table DemoTable1918 ( Value int NOT NULL AUTO_INCREMENT PRIMARY KEY ); Query OK, 0 rows affected (0.00 sec) 挿
-
単一のMySQLクエリのすべての列名に「エイリアス」を設定します
列名のエイリアスを設定するための構文は次のとおりです- select yourColumnName1 anyAliasName1,yourColumnName2 anyAliasName2 from yourTableName anyAliasName; 上記の構文を理解するために、テーブルを作成しましょう- mysql> create table DemoTable2014 -> ( -> FirstName varchar(20), -> LastName varchar(20)