-3
A
答えて
0
DATEADD()
関数は日付から指定された時間間隔を加算または減算します。
構文:DATEADD(日付要素、数字、日付)
qq = quarter,
yy = Year
あなたの質問に日付フィールドは0として代表的なものであるか、-1日付要素構文で、 SQLサーバは、1900年から1901年として0を関連-01 00:00:00.000 0 1899年12月31日00の前に1日として -1:00:00.000
よう
select dateadd(qq,466,'1900-01-01 00:00:00.000') is the same as
SELECT DATEADD(qq, DATEDIFF(qq ,0, GETDATE()),0)
OR
SET @InsertDate = GETDATE()
SELECT DATEADD(qq, DATEDIFF(qq ,0, @InsertDate),0)
今、466は関数のdatediff(qq,0,GETDATE())
セクションによって導出されます。カレンダー年によると、1900-01-01 00:00:00.000 の間に466のクォーターがあります。
ですので、@InsertDate
の値が2016-07-05 00:00:00.000
の場合は、でが得られます。
1
を説明することができ、SQLクエリ
SELECT @day = DATEADD(qq, DATEDIFF(qq ,0, @InputDate),0)
です:https://stackoverflow.com/a/3945396/6492765
基本的に、SELECTは変数の値を設定するT-SQLの方法であり、魔法はセレクティブにありますgをジョインや他の選択概念から直接変数に変換する。唯一の1つの変数に1つの値を割り当てると、それはあなたのケースでは、となり、SET異ならない:あなたは、変数@dayに現在の四半期の最初の日を割り当てる
SET @day = DATEADD(qq, DATEDIFF(qq ,0, @InputDate),0)
0
関連する問題
- 1. 別のSELECTステートメント内のSELECTステートメント
- 2. MSSQLのMySQL CREATEステートメント:KEYキーワード?
- 3. whileステートメント内のselectステートメント
- 4. mySqlのSelectステートメント
- 5. モバイルデバイスのselectステートメント
- 6. selectステートメントのストアドプロシージャ
- 7. MSSQL SELECTカスタム行を追加
- 8. SQLフィルターSELECTステートメント
- 9. VB.net DataTable selectステートメント
- 10. SQL insert selectステートメント
- 11. MYSQL SELECTステートメント
- 12. SQlite concat selectステートメント
- 13. SQLストアドプロシージャselectステートメント
- 14. selectステートメントのsqlクエリ
- 15. LIKE内のSELECTステートメント
- 16. selectステートメントのCASE mysql
- 17. SELECTステートメントのサブクエリ(MySQL)
- 18. Selectステートメントでのケース
- 19. SELECTステートメントの作成
- 20. selectステートメントのSQLサーバーサブクエリ
- 21. SELECTステートメントの番号
- 22. WHERE句のMSSQL SELECT文のエラー
- 23. SQLITE3複合 "Select"ステートメント
- 24. バイナリサーチとLINQ selectステートメント
- 25. SQL挿入-Selectステートメント
- 26. Android Inner Join Selectステートメント
- 27. Java MySQL PreparedStatement SELECTステートメント
- 28. MySQLとPython Selectステートメント
- 29. SQL Selectステートメントwhere = 'List'?
- 30. UNION文の上のSELECTステートメント
私たちはすべてそれを説明できると確信しています。あなたの質問は何ですか?それはあなたが期待しない出力を与えていますか?それが何かを見るためにいくつかのサンプルデータでテストしましたか? –
はい私はそれをテストし、それは完全に動作します。私はこの声明の背後にある論理を理解できない –