以下の記事では、SQL Server の時間間隔の計算に関する問題をまとめています。SQL Server の時間アルゴリズムに興味がある場合は、ぜひご覧ください。SQL Server の時間アルゴリズムを学ぶのに役立ちます。 1: DECLARE @日付DATETIME 2: SET @日付= GETDATE() 3: --前日、指定された日付の前日 4: SELECT DATEADD( DAY ,-1,@ Date ) AS '前日' 5: --翌日、指定日の翌日 6: SELECT DATEADD( DAY ,1,@ Date ) AS '翌日' 7:行く 8: 9: 10: --月の初めに、指定された日付がある月の***日を計算します 11: --この計算の秘訣は、まず現在の日付から「1900-01-01」までの時間間隔を計算し、それを「1900-01-01」に追加して特別な日付を取得することです。この秘訣は、さまざまな日付を計算するために使用できます。 12: DECLARE @日付DATETIME 13: SET @日付= GETDATE() 14: SELECT DATEADD( MONTH , DATEDIFF( MONTH , '1900-01-01' ,@日付), '1900-01-01' ) AS '*** 日' 15: --簡略化されたアルゴリズム。SQL Serverの時間表現方法によれば、 「1900-01-01」は0に置き換えられる。 16: SELECT DATEADD( MONTH ,DATEDIFF( MONTH ,0,@ Date ),0) AS '*** 日' 17: --上記の 2 つのアルゴリズムは、日、時間、分、秒に関して 00:00:00.000 の精度です。 18: --次のアルゴリズムは時間、分、秒を保存するためのものである 19: -- アイデア: 指定された日付と指定された日付の間の日数を月***日から減算します 20: SELECT DATEADD( DAY ,1-DATEPART( DAY ,@日付),@日付) 21:行く 22: 23: --月末に、指定された日付がある月の最初の日を計算します。 24: DECLARE @日付DATETIME 25: SET @日付= GETDATE() 26: -- アイデア: 現在の月の翌月の1日から1日を引く 27: SELECT DATEADD( DAY ,-1,DATEADD( MONTH ,1+DATEDIFF( MONTH , '1900-01-01' ,@ Date ), '1900-01-01' )) AS '月の最終日' 28: SELECT DATEADD( MONTH ,1+DATEDIFF( MONTH , '1900-01-01' ,@ Date ), '1900-01-01' )-1 AS '月の最終日' 29: --1900-01-01 は 0 に置き換えられます 30: SELECT DATEADD( DAY ,-1,DATEADD( MONTH ,1+DATEDIFF( MONTH ,0,@ Date ),0)) AS '月の最終日' 31: SELECT DATEADD( MONTH ,1+DATEDIFF( MONTH ,0,@ Date ),0)-1 AS '月の最終日' 32: -- アイデア: 月初めのアイデアと同じ 33: SELECT DATEADD( MONTH , DATEDIFF( MONTH , '1989-12-31' ,@ Date ), '1989-12-31' ) AS '月の最終日' 34: --簡略化されたアルゴリズム、 「1989-12-31」は -1 に置き換えられます 35: SELECT DATEADD( MONTH ,DATEDIFF( MONTH ,-1,@ Date ),-1) AS '月の最終日' 36: --時間、分、秒を保持するアルゴリズム 37: SELECT DATEADD( DAY ,-1,DATEADD( MONTH ,1,DATEADD( DAY ,1-DATEPART( DAY ,@日付),@日付))) 38:行く 39: 40: --他の月の計算 41: 42: --指定された日付が含まれる月の最終日を計算します 43: DECLARE @日付DATETIME 44: SET @日付= GETDATE() 45: -- 現在の月***日マイナス1ヶ月 46: SELECT DATEADD( MONTH ,-1,DATEADD( MONTH ,DATEDIFF( MONTH ,0,@ Date ),0)) AS '先月の***日数' 47: --簡素化する 48: SELECT DATEADD( MONTH ,DATEDIFF( MONTH ,0,@ Date )-1,0) AS '*** 日数 (先月)' 49: --現在の月と日を計算する別のアルゴリズム 50: SELECT DATEADD( MONTH ,-1,DATEADD( DAY ,1-DATEPART( DAY ,@ Date ),@ Date )) '先月の***日' 51:行く 52: 53: --指定された日付が含まれる月の最終日を計算します 54: DECLARE @日付DATETIME 55: SET @日付= GETDATE() 56: -- 今月***日マイナス1日 57: SELECT DATEADD( DAY ,-1,DATEADD( MONTH ,DATEDIFF( MONTH ,0,@ Date ),0)) AS '*** 前月の日' 58: --現在の月と日を計算する別のアルゴリズム 59: SELECT DATEADD( DAY ,-1,DATEADD( DAY ,1-DATEPART( DAY ,@ Date ),@ Date )) '*** 先月の日' 60: SELECT DATEADD( DAY ,1-DATEPART( DAY ,@ Date ),@ Date )-1 '*** 先月の日' 61: --別のアルゴリズム。現在の月は 30 日ある可能性があるため、現在の月の最終日を使用して月を追加することはできません。 62: --たとえば、 SELECT DATEADD( MONTH ,1, '2010-06-30' ) --結果は 2010-07-31 ではなく 2010-07-30 になります。 63: --これは、月末アルゴリズムが翌月の***日目から1日を引いた日数を計算する理由でもあります。 64: --しかし、計算された月が31日であれば、そのような問題は発生しません 65: --たとえば、 SELECT DATEADD( MONTH ,1, '2010-05-31' ) --結果は2010-06-30です 66: --したがって、次のアルゴリズムは正しいです。-1 は'1899-12-31 00:00:00.000'を意味します-- SELECT CONVERT(DATETIME,-1) 67: DATEADD(月,DATEDIFF(月,-1,@日付)-1,-1)を選択 68: --今月の別のアルゴリズム 69: SELECT DATEADD( DAY ,-1,DATEADD( DAY ,1-DATEPART( DAY ,@ Date ),@ Date )) '*** 先月の日' 70: --簡素化する 71: SELECT DATEADD( DAY ,0-DATEPART( DAY ,@ Date ),@ Date ) '*** 先月の日' 72:行く 73: 74: --指定された日付の月の翌月の***日を計算します 75: DECLARE @日付DATETIME 76: SET @日付= GETDATE() 77: -- 今月***日プラス1ヶ月 78: SELECT DATEADD( MONTH ,1,DATEADD( MONTH ,DATEDIFF( MONTH ,0,@ Date ),0)) AS '*** 翌月の日' 79: --簡素化する 80: SELECT DATEADD( MONTH ,DATEDIFF( MONTH ,0,@ Date )+1,0) AS '*** 翌月の日' 81: --現在の月と日を計算する別のアルゴリズム 82: SELECT DATEADD( MONTH ,1,DATEADD( DAY ,1-DATEPART( DAY ,@ Date ),@ Date )) '*** 次の月の日' 83:行く 84: 85: --指定された日付の月の翌月の最初の日を計算します 86: DECLARE @日付DATETIME 87: SET @日付= GETDATE() 88: -- 現在の月 *** 日プラス 2 か月マイナス 1 日 89: SELECT DATEADD( DAY ,-1,DATEADD( MONTH ,2,DATEADD( MONTH ,DATEDIFF( MONTH ,0,@ Date ),0))) AS '*** 翌月の日' 90: --簡素化する 91: SELECT DATEADD( DAY ,-1,DATEADD( MONTH ,DATEDIFF( MONTH ,0,@ Date )+2,0)) AS '*** 翌月の日' 92: SELECT DATEADD( MONTH ,DATEDIFF( MONTH ,0,@ Date )+2,0)-1 AS '*** 次の月の日' 93: --別のアルゴリズム 94: SELECT DATEADD( MONTH ,DATEDIFF( MONTH ,-1,@ Date )+1,-1) '*** 次の月の日' 95: --現在の月と日を計算する別のアルゴリズム 96: SELECT DATEADD( DAY ,-1,DATEADD( MONTH ,2,DATEADD( DAY ,1-DATEPART( DAY ,@ Date ),@ Date ))) '*** 次の月の日' 97:行く 98: 99: -- *** 曜日、指定された日付の週の最初の曜日を計算します (日曜日は *** 曜日です) 100: DECLARE @日付DATETIME 101: SET @日付= GETDATE() 102: --SQL Server 言語バージョンに関連するアルゴリズム 103: -- アイデア: 現在の日付 + 日曜日(各週の最初の日)と現在の日付の差 104: --DATEPART(WEEKDAY, DATE )の戻り値は@@DATEFIRSTに関連しています 105: SET DATEFIRST 7 -- またはアメリカ英語に設定する SET LANGUAGE us_english; (日曜日は***日です) 106: SELECT DATEADD(WEEKDAY,1-DATEPART(WEEKDAY,@ Date ),@ Date ) AS '*** 曜日、日曜日' 107: --SQL Server の言語バージョンや @@DATEFIRST に関係なく、日曜日 108: -- '1989-12-31'は日曜日、 '1989-12-31'に(現在の日付と 1989-12-31 の間の週数)週を足した値 109: SELECT DATEADD(WEEK,DATEDIFF(WEEK,-1,@ Date ),-1) AS '週の日曜日' 110: --または 111: SELECT DATEADD(WEEK,DATEDIFF(WEEK,6,@ Date ),6) AS '週の日曜日' 112:行く 113: 114: 115: --週の2日目、指定された日付の週の2日目を計算します(日曜日は***日目です) 116: DECLARE @日付DATETIME 117: SET @日付= GETDATE() 118: -- アイデア: 現在の日付 + 月曜日(各週の2日目)と現在の日付の差 119: --DATEPART(WEEKDAY, DATE )の戻り値は@@DATEFIRSTに関連しています 120: SET DATEFIRST 7 -- またはアメリカ英語に設定する SET LANGUAGE us_english; (日曜日は***日です) 121: SELECT DATEADD( DAY ,2-DATEPART(WEEKDAY,@ Date ),@ Date ) AS '週の2日目、月曜日' 122: --SQL Server の言語バージョンや @@DATEFIRST に関係なく、月曜日 123: -- '1900-01-01'は月曜日で、 '1900-01-01'に(現在の日付と 1900-01-01 の間の週数)週を足した数字です。 124: SELECT DATEADD(WEEK,DATEDIFF(WEEK,0,@ Date ),0) AS '週の月曜日' 125:行く 126: 127: --*** 先週の日、指定された日付の週の前の日曜日を計算します (日曜日は *** 日です) 128: DECLARE @日付DATETIME 129: SET @日付= GETDATE() 130: -- アイデア: 現在のログ週の日曜日から1週間を引く 131: --DATEPART(WEEKDAY, DATE )の戻り値は@@DATEFIRSTに関連しています 132: SET DATEFIRST 7 -- またはアメリカ英語に設定する SET LANGUAGE us_english; (日曜日は***日です) 133: SELECT DATEADD(WEEK,-1,DATEADD( DAY ,1-DATEPART(WEEKDAY,@ Date ),@ Date )) AS '*** 先週の曜日、日曜日' 134: --1週間は7日間です 135: SELECT DATEADD( DAY ,-7,DATEADD( DAY ,1-DATEPART(WEEKDAY,@ Date ),@ Date )) AS '週の最終日、日曜日' 136: --簡素化する 137: SELECT DATEADD( DAY ,-6-DATEPART(WEEKDAY,@ Date ),@ Date ) AS '*** 先週の曜日、日曜日' 138: --SQL Server の言語バージョンや @@DATEFIRST に関係なく、先週の日曜日 139: SELECT DATEADD(WEEK,-1+DATEDIFF(WEEK,-1,@ Date ),-1) AS '先週の日曜日' 140: --または 141: SELECT DATEADD(WEEK,DATEDIFF(WEEK,6,@ Date ),-1) AS '先週の日曜日' 142:行く 143: 144: 145: --来週***日、指定された日付の週の次の日曜日を計算します(日曜日は***日です) 146: DECLARE @日付DATETIME 147: SET @日付= GETDATE() 148: -- アイデア: 現在のログ週の日曜日に1週間を追加する 149: --DATEPART(WEEKDAY, DATE )の戻り値は@@DATEFIRSTに関連しています 150: SET DATEFIRST 7 -- またはアメリカ英語に設定する SET LANGUAGE us_english; (日曜日は***日です) 151: SELECT DATEADD(WEEK,1,DATEADD( DAY ,1-DATEPART(WEEKDAY,@ Date ),@ Date )) AS '来週***日、日曜日' 152: --1週間は7日間です 153: SELECT DATEADD( DAY ,7,DATEADD( DAY ,1-DATEPART(WEEKDAY,@ Date ),@ Date )) AS '来週***日、日曜日' 154: --簡素化する 155: SELECT DATEADD( DAY ,8-DATEPART(WEEKDAY,@ Date ),@ Date ) AS '来週***日、日曜日' 156: --SQL Server の言語バージョンや @@DATEFIRST に関係なく、次の日曜日 157: SELECT DATEADD(WEEK,1+DATEDIFF(WEEK,-1,@ Date ),-1) AS '次の日曜日' 158: --または 159: SELECT DATEADD(WEEK,DATEDIFF(WEEK,-1,@ Date ),6) AS '次の日曜日' 160:行く 161: 162: --指定された日付が何曜日であるかを判断する 163: DECLARE @日付DATETIME 164: SET @日付= GETDATE() 165: --DATEPART(WEEKDAY, DATE )の戻り値は@@DATEFIRSTに関連しています 166: SET DATEFIRST 7 -- または米国英語に設定する SET LANGUAGE us_english; (日曜日は***日です) 167: SELECT DATEPART(WEEKDAY,@ Date ) -- 戻り値 1-日曜日、2-月曜日、3-火曜日...7-土曜日 168: --上記のアルゴリズムはSQL言語バージョンまたは@@DATEFIRSTに関連しています 169: --次のアルゴリズムはSQL Serverの言語バージョンや@@DATEFIRSTとは関係ありません 170: SELECT DATENAME(WEEKDAY,@ Date ) 'week' 171:行く 172: 173: 174: --年間計算 175: DECLARE @日付DATETIME 176: SET @日付= GETDATE() 177: --年初に、指定された日付が位置する年の***日を計算します 178: SELECT DATEADD( YEAR ,DATEDIFF( YEAR ,0,@ Date ),0) AS '*** 年の日' 179: --年末に、指定された日付が該当する年の最初の日を計算します 180: SELECT DATEADD( YEAR ,DATEDIFF( YEAR ,-1,@ Date ),-1) AS '*** 年の日' 181: --前年の初めに、指定された日付の前の年の***日を計算します 182: SELECT DATEADD( YEAR ,DATEDIFF( YEAR ,-0,@ Date )-1,0) AS '*** 前年の日' 183: --前年の末に、指定された日付の前の年の最終日を計算します 184: SELECT DATEADD( YEAR ,DATEDIFF( YEAR ,0,@ Date ),-1) AS '*** 現在の年の前の年の日' 185: --翌年の初めに、指定された日付の翌年の***日目を計算します 186: SELECT DATEADD( YEAR ,1+DATEDIFF( YEAR ,0,@ Date ),0) AS '*** 現在の年の翌年の日' 187: --翌年の終わりに、指定された日付の後の年の最初の日を計算します 188: SELECT DATEADD( YEAR ,1+DATEDIFF( YEAR ,-1,@ Date ),-1) AS '*** 現在の年の翌年の日' 189:行く 190: 191: --四半期計算 192: DECLARE @日付DATETIME 193: SET @日付= GETDATE() 194: --四半期の初めに、指定された日付が含まれる四半期の***日を計算します 195: SELECT DATEADD(QUARTER,DATEDIFF(QUARTER,0,@ Date ),0) AS '*** 現在の四半期の日' 196: --四半期末、指定された日付が含まれる四半期の最終日を計算します 197: SELECT DATEADD(QUARTER,1+DATEDIFF(QUARTER,0,@ Date ),-1) AS '*** 現在の四半期の日' 198: --前四半期の初め 199: SELECT DATEADD(QUARTER,DATEDIFF(QUARTER,0,@ Date )-1,0) AS '現在の四半期の前四半期の初め' 200: --前四半期末 201: SELECT DATEADD(QUARTER,DATEDIFF(QUARTER,0,@ Date ),-1) AS '現在の四半期の前四半期の終わり' 202: --次の四半期の初め 203: SELECT DATEADD(QUARTER,1+DATEDIFF(QUARTER,0,@ Date ),0) AS '現在の四半期の次の四半期の初め' 204: --次の四半期末 205: SELECT DATEADD(QUARTER,2+DATEDIFF(QUARTER,0,@ Date ),-1) AS '現在の四半期の次の四半期の終わり' 206:行く 207: 208: --指定された日付の月の日数を計算する 209:宣言@ Date DATETIME; 210: SET @日付= GETDATE() 211: --今月の***日と来月の***日の差 212: SELECT DATEDIFF( DAY ,DATEADD( MONTH ,DATEDIFF( MONTH ,0,@日付),0),DATEADD( MONTH ,1+DATEDIFF( MONTH ,0,@日付),0)) 213: --変数を使って簡略化する 214: SELECT @ Date = DATEADD( MONTH ,DATEDIFF( MONTH ,0,@ Date ),0) --今月の***日 215: SELECT DATEDIFF( DAY ,@日付,DATEADD( MONTH ,1,@日付)) 216: --別の考え方: 月の最初の日の日付が与えられたら、それをその月の日数として記録します 217:日を選択(DATEADD(月,DATEDIFF(月,-1,@日付),-1)) 218:行く 219: 220: --指定された日付の四半期の日数を計算する 221:宣言@ Date DATETIME; 222: SET @日付= GETDATE() 223: --今四半期の***日と次の四半期の***日の差 224: SELECT DATEDIFF( DAY 、DATEADD(QUARTER、DATEDIFF(QUARTER、0、@日付)、0 )、DATEADD(QUARTER、1+DATEDIFF(QUARTER、0、@日付)、0 )) 225: --変数を使って簡略化する 226: SELECT @ Date = DATEADD(QUARTER,DATEDIFF(QUARTER,0,@ Date ),0) --*** この四半期の日 227: SELECT DATEDIFF( DAY ,@日付,DATEADD( QUARTER ,1,@日付)) 228:行く 229: 230: --指定された日付の年間日数を計算する 231:宣言@ Date DATETIME; 232: SET @日付= GETDATE() 233: --今年の***日と来年の***日の差 234: SELECT DATEDIFF( DAY ,DATEADD( YEAR ,DATEDIFF( YEAR ,0,@日付),0),DATEADD( YEAR ,1+DATEDIFF( YEAR ,0,@日付),0)) 235: --変数を使って簡略化する 236: SELECT @ Date = DATEADD( YEAR ,DATEDIFF( YEAR ,0,@ Date ),0) -- *** 今年の日 237: SELECT DATEDIFF( DAY ,@日付,DATEADD( YEAR ,1,@日付)) 238:行く 239: 240: --指定された日付の年が閏年かどうかを判定します 241: --年間の日数に基づく判断 242:宣言@ Date DATETIME; 243: SET @日付= GETDATE() 244: SELECT CASE DATEDIFF( DAY 、DATEADD( YEAR 、DATEDIFF( YEAR 、0、@日付)、0)、DATEADD( YEAR 、1+DATEDIFF( YEAR 、0、@日付)、0)) 245: 365 の場合、 「平年」、そうでない場合、「閏年」、終了 246: 2月の日数による判断 247: --前年の最終日、つまり今年の2月の最終日に2か月を加算します。 248: SELECT CASE DAY (DATEADD( MONTH ,2,DATEADD( YEAR ,DATEDIFF( YEAR ,0,@ Date ),-1))) WHEN 28 THEN '平年' ELSE '閏年' END 249:行く 250: 251: --指定された日付の年間通算日数を計算する 252:宣言@ Date DATETIME; 253: SET @日付= GETDATE() 254: DATEPART(DAYOFYEAR,@日付) [DayOfYear]を選択します。 255: SELECT DATENAME(DAYOFYEAR,@ Date ) [DayOfYear]; 256: --別の考え方: 現在の日付と前年の最終日の間の日数 257: SELECT DATEDIFF( DAY ,DATEADD( YEAR ,DATEDIFF( YEAR ,0,@日付),-1),@日付)[DayOfYear] 258:行く 259: 260: --指定された日付の年内の週番号を計算します 261:宣言@ Date DATETIME; 262: SET @日付= GETDATE() 263: SELECT DATEPART(WEEK,@ Date ) [WeekOfYear]; -- int型を返します 264: SELECT DATENAME(WEEK,@ Date ) [WeekOfYear]; -- varchar型を返します 265:行く 266: 267: --指定された日付の月を計算します 268:宣言@ Date DATETIME; 269: SET @日付= GETDATE() 270: SELECT DATEPART( MONTH ,@ Date ) [MonthOfYear]; -- int型を返します 271: SELECT DATENAME( MONTH ,@ Date ) [MonthOfYear]; -- varchar型を返します 272: SELECT MONTH (@ Date ) [MonthOfYear];--int型を返します 273:行く 274: 275: --指定された日付の四半期を計算する 276:宣言@ Date DATETIME; 277: SET @日付= GETDATE() 278: SELECT DATEPART(QUARTER,@ Date ) [QuarterOfYear]; -- int型を返します 279: SELECT DATENAME(QUARTER,@ Date ) [QuarterOfYear]; -- varchar型を返します 280:行く 281: 282: --指定された日付の月の週数を計算する 283:宣言@ Date DATETIME; 284: SET @日付= GETDATE() 285: -- アイデア、指定された日付は、その年の週番号です - 指定された日付が位置する月の***日は、その年の週番号です 286: SELECT DATEPART(WEEK,@日付)-DATEPART(WEEK,DATEADD(月,DATEDIFF(月,0,@日付),0))+1 [WeekOfMonth] 287: SELECT DATEPART(WEEK,@日付)-DATEPART(WEEK,DATEADD( DAY ,1-DATEPART( DAY ,@日付),@日付))+1 [WeekOfMonth] 288:行く 289: 290: --指定された日付が属する月の最初の月曜日の曜日を計算する 291:宣言@ Date DATETIME; 292: SET @日付= GETDATE() 293: -- アイデア、1900-01-01 (月曜日) + (指定されたログ月の6日目から1900-01-01までの週数) 週間 294: --なぜ7番を選ばないのですか? 7 日が日曜日の場合、次の月曜日が 8 日としてカウントされます。 295: --5番を選ばないのはなぜですか? 5 日が土曜日の場合、月曜日は前月になります。 5 未満の数字にも同じ原則が適用されます。 296: SELECT DATEADD(WEEK,DATEDIFF(WEEK,0,DATEADD( DAY ,6-DATEPART( DAY ,@ Date ),@ Date )),0) '月の最初の月曜日' 297: SELECT DATEADD(WEEK,DATEDIFF(WEEK,0,DATEADD( DAY ,6-DATEPART( DAY ,@ Date ),@ Date )),7) 'その月の第 2 月曜日' 298: SELECT DATEADD(WEEK,DATEDIFF(WEEK,0,DATEADD( DAY ,6-DATEPART( DAY ,@ Date ),@ Date )),1) '毎月第 1 火曜日' 299: SELECT DATEADD(WEEK,DATEDIFF(WEEK,0,DATEADD( DAY ,6-DATEPART( DAY ,@ Date ),@ Date )),8) '毎月第 2 火曜日' 300:行く 【編集者のおすすめ】 SQLストアドプロシージャを学ぶ SQL Server SA 権限のヒント SQL データベース操作の承認 SQLユーザー名を追加する方法 SQL2000 ロール作成例 |
<<: ハッシュアルゴリズムに基づくMySQLテーブルパーティション
>>: 新世代のJVMガベージコレクションアルゴリズムがリリースされました
人工知能(AI)市場は急速に成長し、2024年までに5,543億ドルに達すると予想されています。人工...
今日はAIがどのように音楽を作曲するのかを見ていきたいと思います。この記事では、TensorFlow...
欧州委員会は4月21日にAIに関する法案草案を正式に発表した。 81ページに及ぶ草案では、EUは社会...
[[402984]]研究によると、人工知能と 5G テクノロジーを組み合わせることで、通信会社は I...
人工知能(AI)とは、人間の知能をシミュレート、拡張、拡大するための理論、方法、技術、アプリケーショ...
アマゾンは12月1日、昨日のre:Inventカンファレンスで、アマゾン初の画像生成モデル「Tita...
新型コロナウイルスの感染力が高いため、防疫期間中、一般の人々は、インテリジェント消毒ロボットが医療産...
[オリジナル記事は51CTO.comより] 2018年ロシアワールドカップはエキサイティングな決勝...
[[266878]]中国における人工知能に関する議論の多くは体系化されておらず、断片的であり、人工...
流行の間、人工知能は再び人気を博しました。人工知能によって合成されたニュースレポートは、私たちに毎日...
近年、人工肉は急速に発展していますが、本物の肉と比較すると、味や食感にはまだ明らかな差があります。最...
4月23日、海外メディアの報道によると、カリフォルニア大学サンフランシスコ校の研究チームが開発した...
最近、インターネット企業における「人員最適化」問題が友人の間で話題になっており、多くの人がパニックに...