日付を01 02 03 04 05の1 2 3 4 5ではなく週から取得する最も良い方法は何ですか?TSQL DatePart Week(ww形式)01の代わりに01
0
A
答えて
0
最も簡単な方法は、あなたの主要な0
秒を連結した後、右側の2つの値を取っている:
select right(concat('00', DATEPART(week, getdate())), 2) as WeekNum
をあなたは、このためのUDFを必要としません。 ..
0
DECLARE @Dt datetime
SELECT @Dt='01-21-2008'
SELECT dbo.udfLeftSQLPadding(CAST(DATEPART(wk, @Dt) AS NVARCHAR),2,'0')
機能がここ
SELECT RIGHT(Replicate('0', 2) + CAST(DATEPART(wk, @Dt) AS NVARCHAR), 2)
以下のようになど右()、のような他の機能と複製()を使用していますが、出力
で次のように実装する方法 SQL left padding functionをご確認ください
0
0
することもできます連結文字列
SELECT CASE WHEN DATEPART(week,@d) < 10 THEN '0' ELSE '' END + DATEPART(week,@d)
0
dbo.udfLeftSQLPaddingの代わりに、同じロジックのインラインテーブル値関数を使用すると、より高速で優れたパフォーマンスを得ることができます。それは次のようになります。
CREATE FUNCTION dbo.iTVFLeftSQLPadding
(
@String varchar(100),
@Length smallint,
@PaddingChar char(1) = '0'
)
RETURNS TABLE WITH SCHEMABINDING AS RETURN
SELECT newstring = RIGHT(REPLICATE(@PaddingChar, @Length) + @String, @Length);
あなたがここにこの技術について詳しく知ることができます。http://www.sqlservercentral.com/articles/T-SQL/91724/
関連する問題
- 1. jqueryを使用して01/01/2010と2010/01/01の日付形式をサポートするには?
- 2. yii2保存日の形式方法1970-01-01データベース
- 3. 2 = .01と.01 = 2の作り方?
- 4. Jan月を01の代わりに13とするSQLクエリ
- 5. TSQL: "44日、5:07:01"を "44:5:07:01"に変換する方法?
- 6. dataGridViewは2016-09-01の代わりに2016-09-01を表示します00:00
- 7. データベースにdatetimeが挿入され続ける1970-01-01 01:00:00に挿入された値の代わりに
- 8. 解析日 "01/01/2016金"
- 9. SQLiteのCURRENT_TIMESTAMP常に1970-01-01
- 10. pandas.to_datetime()関数が0001-01-01から2001-01-01に変換されないようにするには
- 11. KeyError: 'ラベル[2008-01-01]が[index]にありません'
- 12. cassandraへの書き込み0001-01-01 00:00:00.0。 0001-01-01 10:30:00に変更されましたか?
- 13. Java: '2017-01-01 00:00:00'から '2017-01-01%2000:00:00'に変換しますか?
- 14. は「1970-01-01 00:00:00」ヘッダ
- 15. DateFormat.formatはHH:mm:ss形式の01:00:00を返します
- 16. 「yuyy-ww」の書式で日付「2014-12-31」の「2014-01」を返す弾性検索を修正するには
- 17. HTML5入力タイプ= "week"の代わりに
- 18. 読み取り可能な日付と時刻を変更するには - 01/01/2011をMySQLに変更するUNIX DATETIME(2001-01-01 22:30)
- 19. date = '01/01/1900 'のフィールドを非表示にする
- 20. PHP foreachは、空の時に01-01-1970を返します。
- 21. strptimeどのように解析するか:01/Jul/1995:00:00:01-0400
- 22. 日付クエリを作成するには? (Where = date> 01-01-2011)
- 23. PHP:strtotime()は常に01/01/1970を返します。
- 24. '01/01/0001 'をdatetime2に変換する方法
- 25. Mysql日付1970-01-01のデフォルトの挿入
- 26. 作成日時のデフォルト値は "01/01/0001 00:00:00"です。
- 27. Entity Frameworkの設定Auto DateTime列:01/01/0001 00:00:00
- 28. ADの日付から計算する01-01-0001
- 29. Pythonでdatetime(例:2016-01-01、2016-01-11)を整数日(例えば0,11)に変換する
- 30. SQLのDatepart(week)、ORDER BY年ですか?
は何をしたいということです? –
<コメントが削除されました> –