私はSQLでクエリを持っている、私はdd/mmm/yy
のフォーマットで日付を取得する必要があります
例:25/jun/2013
。
SQLサーバー用に変換する方法
あなたが望むフォーマットに完全に一致するものがあるかどうかわからない。しかし、 convert()
とスタイル106
に近づくことができます。その後、スペースを置き換えます。
SELECT replace(convert(NVARCHAR, getdate(), 106), ' ', '/')
SQL Server 2008にはすでに 複数の回答とフォーマットの種類 があります。ただし、この方法では多少あいまいなので、Specific Date Formatに関する数値を覚えておくのは困難です。そのため、SQL Serverの次期バージョンではより良い選択肢があります。
FORMAT ( value, format [, culture ] )
カルチャオプションを使用すると、視聴者ごとに日付を指定できます。
DECLARE @d DATETIME = '10/01/2011';
SELECT FORMAT ( @d, 'd', 'en-US' ) AS 'US English Result'
,FORMAT ( @d, 'd', 'en-gb' ) AS 'Great Britain English Result'
,FORMAT ( @d, 'd', 'de-de' ) AS 'German Result'
,FORMAT ( @d, 'd', 'zh-cn' ) AS 'Simplified Chinese (PRC) Result';
SELECT FORMAT ( @d, 'D', 'en-US' ) AS 'US English Result'
,FORMAT ( @d, 'D', 'en-gb' ) AS 'Great Britain English Result'
,FORMAT ( @d, 'D', 'de-de' ) AS 'German Result'
,FORMAT ( @d, 'D', 'zh-cn' ) AS 'Chinese (Simplified PRC) Result';
US English Result Great Britain English Result German Result Simplified Chinese (PRC) Result
---------------- ----------------------------- ------------- -------------------------------------
10/1/2011 01/10/2011 01.10.2011 2011/10/1
US English Result Great Britain English Result German Result Chinese (Simplified PRC) Result
---------------------------- ----------------------------- ----------------------------- ---------------------------------------
Saturday, October 01, 2011 01 October 2011 Samstag, 1. Oktober 2011 2011年10月1日
OPの解決策としては、@ Martin Martinによって既に言及されている以下のフォーマットを使用することができます。
FORMAT(GETDATE(), 'dd/MMM/yyyy', 'en-us')
いくつかのサンプル日付フォーマット:
もっと多くのSQLサーバーの日付フォーマットが欲しいなら、あなたは訪れるべきです:
私たちは日付を多くのフォーマットに変換することができます
SELECT convert(varchar, getdate(), 106)
これはdd mon yyyy
を返します
もっとここに これはあなたを助けるかもしれない
承認された回答は、2008年にすでに組み込まれているフォーマット方法を使用して最良の解決策を示しています。
ただし、返される結果はログインの言語によって異なります。
SET language Russian
SELECT replace(CONVERT(NVARCHAR, getdate(), 106), ' ', '/')
返品
06/апр/2015
執筆時点で。
最近のバージョンのSQL Serverでこの問題に遭遇している人々のためにこの問題を回避する方法 - そしてREPLACE
の必要性は
FORMAT(GETDATE(),'dd/MMM/yyyy', 'en-us')
2005年以降は、DateTime、Formatting Pattern、およびCultureを受け入れてCLR UDFを作成し、それをシミュレートすることが可能になります。
以下のクエリを使ってみてください。
SELECT REPLACE(CONVERT(VARCHAR(11),GETDATE(),6), ' ','/');
結果: 20/6月/ 13
SELECT REPLACE(CONVERT(VARCHAR(11),GETDATE(),106), ' ','/');
結果: 20/2013年6月
これを試して :
select replace ( convert(varchar,getdate(),106),' ','/')
これを試して
select convert(varchar,getdate(),100)
3番目のパラメータはformatで、範囲は100
から114
までです。どれでも構いません。
dd/mmm/yyyy
に日付が必要な場合はこれを使います。
replace(convert(char(11),getdate(),113),' ','-')
getdate()
をあなたの列名に置き換えてください。これは私のために働きました。
手動でsqlサーバーの「date type」変数に日付を入力しようとする人は、入力時にこのフォーマットを使用します。
'yyyy-mm-dd'