2016-06-23 10 views
0

getdate()を使用してmy "Date"カラムのデフォルト値を24時間で、12時間フォーマットではなく。SQL Serverでdatetimeカラムのデフォルト値を24hフォーマットに設定する

私のSQL Serverデータベースでは、デフォルト値をgetdate()に設定しました。私は24時間形式でそれをしたいようなデータベースでは、表示されます。22/06/2016 10:46:00

しかし、私は私のPHPのウェブサイトでこの値を取得するとき、私は次の値を取得する:Jun 22 2016 10:46:00:000AM

私が何を私のために変換する方法があることを知っていますlike like:SELECT CONVERT(VARCHAR(24), GETDATE(), 113)

しかし、このクエリを "Date"列のデフォルト値に設定することはできません。

+2

可能な重複http://stackoverflow.com/questions/5178452/sql-server-date-format-function ) –

+2

日時には* FORMAT *はありません。これはバイナリ値です。表示される値は、データベースの照合またはコードのカルチャのいずれかを使用して文字列にフォーマットされた値です。日付を文字列としてレンダリングする方法をどこかで変更したい場合は、レンダリングを行うコードを変更してください。 –

+1

列の種類は何ですか?それは日付型かvarcharのいずれかですか?日付型の場合は、SSMSにどのように表示されるか気にする必要はありません。 varcharの場合は間違ったタイプで、ある時点でローカライゼーションエラーに遭遇します。たとえば、米国ロケールに設定されたWebサーバーは、 '22/06/2016'を読み込むとチョークします。 –

答えて

0

ありがとう皆さん!要約すると、「日時」はバイナリ値であるため、フォーマットはありません。

SQL Serverでよく表示され、PHP Webサイトでは表示されない場合は、PHPがバイナリ値を別々に解釈するためです。

最終的に私がPHPで望む方法を表示させるために、PHPでフォーマットします(注:$ row ["Date"]はSQL Serverからの "Date"バイナリ値を取得するセルです):

$datee = new DateTime($row["Date"]); 
$dateee = $datee->format('Y/m/d H:i:s'); 

、出力は以下のようになります。

2016/06/22 10:46:00 
[SQL Serverの日付フォーマット機能](の
関連する問題