0

いくつかの値を保持するデータベースを作成する必要がありdatetimeます。

そこで、列をdatetimeタイプとして定義し、このカレンダーを作成しました。

では、日時が機能するためには、カレンダー入力の形式はどれである必要がありますか?

私はいくつかの検索を行う必要があるので、すなわち

Select FROM table_name between date1 to date2

今のところそれは:

mm/dd/yyyy

私はこれを使用しています:

$today = date("dd/mm/yyyy");                  
$strSQL = "SELECT forma.*, SMS_MONTIME.IDTICKET, SMS_MONTIME.MBYLLUR,SMS_MONTIME.time_added
FROM forma 
LEFT JOIN SMS_MONTIME ON forma.ID = SMS_MONTIME.IDTICKET WHERE data_e_shitjes=$today";

ありがとう

4

1 に答える 1

0

SQLServerでサポートされている形式は多数あります。CASTおよびCONVERTに関するMSDNBooksOnlineを参照してください。これらの形式のほとんどは、使用している設定に依存します。したがって、これらの設定が機能する場合と機能しない場合があります。

これを解決する方法は、SQL Serverでサポートされている(わずかに適合された)ISO- 8601日付形式を使用することです。この形式は、SQL Serverの言語と日付形式の設定に関係なく、常に機能します。

SQL ServerでサポートされているISO-8601形式には、次の2つの種類があります。

  • YYYYMMDD日付のみ(時間部分なし)。ここに注意してください:ダッシュはありません!、それは非常に重要です!SQL Serverの日付形式の設定に依存せず、すべての状況で機能するとYYYY-MM-DDは限りません。

また:

  • YYYY-MM-DDTHH:MM:SS日付と時刻の場合-ここに注意してください:この形式にはダッシュがあり(ただし省略できTます)、の日付と時刻の部分の間の区切り文字として固定されていますDATETIME

これは、SQLServer2000以降で有効です。

SQL Server 2008以降とDATEデータ型(-のみDATE-ではありません DATETIME!)を使用している場合は、実際にこのYYYY-MM-DD形式を使用することもでき、SQLServerのどの設定でも機能します。

このトピック全体が非常にトリッキーでやや混乱している理由を私に聞かないでください-それはまさにその通りです。ただし、このYYYYMMDD形式を使用すると、SQL Serverのすべてのバージョン、およびSQLServerの言語と日付形式の設定に問題がないはずです。

于 2012-12-18T10:21:20.010 に答える