問題:
SQLServerデータベースの日付フィールドまたは値の形式を変更したい。
例:
私たちのデータベースには、Patient Id列にデータがあります 、FirstName 、LastName 、およびRegistrationDate 。
| Id | FirstName | LastName | RegistrationDate |
|---|---|---|---|
| 1 | ジェーン | ウィリアムズ | 2019-06-20 |
| 2 | ガブリエル | ブラウン | 2019-02-02 |
| 3 | ロラ | フォーク | 2016-11-05 |
各患者の登録日の形式を変更しましょう。最初に平日の名前を入力し、次に月の日と名前、4桁の年を入力します(例:「2019年12月27日金曜日」)。
解決策:
FORMAT()関数を使用して、RegistrationDateの日付の形式を変更します 列。
SELECT FirstName,
LastName,
FORMAT(RegistrationDate ,'dddd, d MMMM, yyyy')
AS FormattedRegistrationDate
FROM Patient;
クエリの結果は次のとおりです。
| FirstName | LastName | FormattedRegistrationDate |
|---|---|---|
| ジェーン | ウィリアムズ | 2019年6月20日木曜日 |
| ガブリエル | ブラウン | 2019年2月2日土曜日 |
| ロラ | フォーク | 2016年11月5日土曜日 |
ディスカッション:
FORMAT()関数を使用して、特定の日付の表示方法を変更できます。この関数は、2つの必須引数と1つのオプションの引数を取ります。この例では、2つの必須の引数のみを使用しました。 1つ目は日付です。これは、日付/時刻/日時の列、または日付または時刻を返す任意の式から取得できます。 (この例では、列RegistrationDateを使用します 。)2番目の引数は、新しい日付形式を含む文字列です。この例では、'dddd、dd MMMM、yyyy'を使用しました :
- dddd –曜日の名前。
- d –1から31までの月の日。
- MMMM –その月のフルネーム。
- yyyy –4桁の年。
次の表は、その他の日付/時刻形式指定子を示しています。
| 指定子 | 説明 |
|---|---|
| d | 1〜31の範囲の日 |
| dd | 01〜31の範囲の日 |
| ddd | 曜日の省略名 |
| dddd | 曜日のフルネーム |
| M | 1から12までの月 |
| MM | 01から12までの月 |
| MMM | 月の略称 |
| MMMM | 今月のフルネーム |
| y | 2桁の年、0から99まで |
| yy | 00から99までの2桁の年 |
| yyyy | 4桁の年 |
| g | 時代(例:西暦) |
| h | 1から12までの時間(12時間時計) |
| hh | 01から12までの時間(12時間時計) |
| H | 0から23までの時間(24時間制) |
| HH | 00から23までの時間(24時間制) |
| m | 0から59までの分 |
| mm | 00から59までの分 |
| s | 0から59までの2番目 |
| ss | 00から59までの2番目 |
| t | AMまたはPMの最初の文字(例:9A、5P) |
| tt | AMまたはPM |
| z | 先行ゼロなしの時間オフセット(例:+3) |
| zz | 時間オフセット、先行ゼロ(例:+03) |
標準の日付と時刻の形式とカスタム形式については、Microsoftのドキュメントで詳細を確認できます。
この日付を特定の言語や国に合わせてフォーマットする場合は、3番目のオプションの引数を使用します:文化 。この引数は、特定の地域または国のカルチャコードを含む文字列です。 (カルチャコードは、言語コード、ダッシュ、および国コードで構成されます。)以下の例では、ドイツの言語コード('de')とドイツの国コードを組み合わせたドイツのカルチャコードを使用します。 ('DE')、つまり'de-DE'。結果の日付はドイツ語で表示され、ドイツの視聴者が期待するとおりにフォーマットされます。
SELECT FirstName,
LastName,
FORMAT(RegistrationDate ,'dddd, d MMMM, yyyy', 'de-DE')
AS FormattedRegistrationDate
FROM Patient;
このクエリの結果は次のとおりです。
| FirstName | LastName | RegistrationDate |
|---|---|---|
| ジェーン | ウィリアムズ | Donnerstag、2019年6月20日 |
| ガブリエル | ブラウン | Samstag、2019年2月2日 |
| ロラ | フォーク | Samstag、2016年11月5日 |