読者です 読者をやめる 読者になる 読者になる

日付 => 文字列変換

SQL Server Advent Calendar 7日目 です。

今日は日付を文字列に変換します。有名なのは
CAST および CONVERT (Transact-SQL)

select convert(char, getdate(), 111) -- yyyy/MM/dd 形式で変換

ですね。SQL Server 2012 からは、 FORMAT (Transact-SQL) が追加されています。

select format(getdate(), 'd', 'ja-JP') -- 日本の短い形式の日付書式

書式の指定は、.NET Framework
標準の日付と時刻の書式指定文字列
カスタムの日付と時刻の書式指定文字列 を参考に。
カルチャーは省略可能で、省略した場合は現在 SQL Server で指定されている言語が使われます。

select format(getdate(), 'd') -- 現在指定されている言語の短い形式の日付書式

現在指定されている言語は、
@@LANGUAGE (Transact-SQL)
sp_helplanguage (Transact-SQL)
を使って確認することが出来ます。

sp_helplanguage @@LANGUAGE

変更するには SET LANGUAGE (Transact-SQL) を使います。
指定出来る値は、sys.syslanguages (Transact-SQL) を参考にどうぞ。