列をエイリアスとして使用して Update in Case ステートメントを使用する方法
P粉214089349
P粉214089349 2023-09-05 17:54:59
0
2
532
<p>3 つの列 (id int、udf varchar(20)、date_of_sale datetime) を持つ sales_data というテーブルがあります。 時間を6時間に調整してdate_of_sale列の平日を見つけようとしています。ここで、udf列をdate_of_saleに対応する平日に更新する必要があります。選択クエリのアイデアはありますが、udf 列を更新するにはどうすればよいですか? </p> <pre class="brush:php;toolbar:false;">putdata として Weekday(subtime(s.date_of_sale ,'6:0:0')) を選択します。 場合 WHEN 平日(subtime(s.date_of_sale ,'6:0:0'))=0 THEN '日曜日' WHEN 平日(subtime(s.date_of_sale ,'6:0:0'))=1 THEN '月曜日' WHEN 平日(subtime(s.date_of_sale ,'6:0:0'))=2 THEN '火曜日' WHEN 平日(subtime(s.date_of_sale ,'6:0:0'))=3 THEN '水曜日' WHEN 平日(subtime(s.date_of_sale ,'6:0:0'))=4 THEN '木曜日' WHEN 平日(subtime(s.date_of_sale ,'6:0:0'))=5 THEN '金曜日' WHEN 平日(subtime(s.date_of_sale ,'6:0:0'))=6 THEN '土曜日' UDFとして終了 sales_data から;</pre></p>
P粉214089349
P粉214089349

全員に返信(2)
P粉256487077

処理を簡素化するために、 生成された列 (https://dev.mysql.com/doc/refman/8.0/en/create-table-generated-columns.html) を追加します。データの不整合を回避します:

リーリー

デモを見る: https://dbfiddle.uk/2d5iIvBv

(同じ平日はありません。地域によるものでしょうか?)

いいねを押す +0
P粉035600555

上記のクエリはほぼ完成しました。更新ステートメントを追加するだけです。

以下のクエリは機能するはずです。

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート