タグ付けされた質問 「date-format」

2
PostgreSQLからミリ秒単位でタイムスタンプ列を取得する方法は?
timestamp without time zone default now()PostgreSQLデータベースにtype で「作成」された列があります。 列を選択すると、デフォルトで見やすく読みやすい形式になります。 SELECT created FROM mytable; created --------------------------- 2011-05-17 10:40:28.876944 しかし、私はミリ秒だけでタイムスタンプを取得したい(ロングとして)。このようなもの: SELECT myformat(created)FROM mytable; created ----------------- 2432432343876944 PostgreSQLからミリ秒単位でタイムスタンプ列を取得するにはどうすればよいですか? ジャックへの応答: 私はあなたと同じ違いを取得します(-3600)が、使用するtimestamp with time zoneと、「エラー」または違いは「1970-01-01」がタイムゾーンを取得するためであることがわかります+01。 create table my_table_2(created timestamp with time zone); CREATE TABLE insert into my_table_2 (created) values (now()), ('1970-01-01'); INSERT 0 2 select created, …

1
LANGUAGEおよびDATEFORMATで安全な日付/時刻リテラル形式は何ですか?
それは多くの日付/時刻形式ことを実証することは容易であるほか、以下の2以上が原因SET LANGUAGE、SET DATEFORMAT、またはログインのデフォルト言語に誤解を受けやすいです。 yyyyMMdd -- unseparated, date only yyyy-MM-ddThh:mm:ss.fff -- date dash separated, date/time separated by T Tのないこの形式でさえ、有効なISO 8601形式のように見えますが、いくつかの言語では失敗します。 DECLARE @d varchar(32) = '2017-03-13 23:22:21.020'; SET LANGUAGE Deutsch; SELECT CONVERT(datetime, @d); SET LANGUAGE Français; SELECT CONVERT(datetime, @d); 結果: ドイツ連邦共和国の金型について。 メッセージ242、レベル16、状態3 備デア・Konvertierung eines varchar型-Datentyps einenのdatetime-Datentyp liegtデア・ワートaußerhalbデgültigenBereichsインチ フランセのラングパレドゥラングエストパセ。 Msg 242、レベル16、状態3 変換の種類日付の種類と日付の種類の制限なし。 今、これらは、英語で、月と日を置き換えて、次の日付コンポーネントを定式化したかのように失敗しますyyyy-dd-mm: …

2
日付を永続的に「MDY」として表示するようにPostgresqlデータベースを設定する方法
実行せずに「日付」を「MDY」として表示するようにデータベースを設定するにはどうすればよいですか: SET datestyle = "ISO, MDY"; 私がそれにアクセスしようとするたびに?Postgresqlバージョン9.1、Ubuntu 12.04を使用しています。データベースのインストール時のシステムロケールはに設定されていましたがen_CA.utf8、最近それをに変更しましたen_US.utf8。 show lc_CTYPE 戻り値:-> "en_CA.UTF-8" しかし show LC_CoLLATE 戻り値:-> "en_CA.UTF-8"

6
毎月第3金曜日を決定する
SQL Serverの「1.1.1996-30.8.2014」の日付範囲の「各月の第3金曜日」である日付を決定する必要があります。 私はの組み合わせを使用する必要があり期待DENSE_RANK()してPARTITION BY()セット「ランク= 3」に。しかし、私はSQLが初めてであり、正しいコードを見つけることができません。

5
日付範囲を間隔の説明に変換する
最近のプロジェクトの要件は、リソースが完全に消費される時期を報告することでした。枯渇カレンダーの日付だけでなく、残り時間を「1年3か月」のように英語のような形式で表示するように求められました。 組み込みDATEDIFF関数 指定された開始日と終了日の間で交差する指定された日付部分の境界の数...を返します。 そのまま使用すると、誤解を招く、または紛らわしい結果が生じる可能性があります。たとえば、YEARの間隔を使用すると、1999-12-31(YYYY-MM-DD)と2000-01-01が1年離れていることが示されますが、これらの日付は1日だけ離れていると常識的に考えられます。逆に、DAY 1999-12-31と2010-12-31の間隔を使用すると、4,018日で区切られますが、ほとんどの人は「11年」をより適切に説明します。 日数から開始して、そこから月と年を計算すると、うるう年と月のサイズのエラーが発生しやすくなります。 これをさまざまなSQL方言でどのように実装できるのか疑問に思いました。出力例は次のとおりです。 create table TestData( FromDate date not null, ToDate date not null, ExpectedResult varchar(100) not null); -- exact formatting is unimportant insert TestData (FromDate, ToDate, ExpectedResult) values ('1999-12-31', '1999-12-31', '0 days'), ('1999-12-31', '2000-01-01', '1 day'), ('2000-01-01', '2000-02-01', '1 month'), ('2000-02-01', '2000-03-01', '1 month'), -- …

3
日付を整数(数値)として格納することの利点
質問1 日付が整数(実際の数値(8,0))として格納されているシステムを使用していますが、他のシステムもこのスレッドにciscoなどのintとして日付を格納していることに気付きました。例 20120101 -- 01 Jan 2012 数値日付システムを維持し、SQL日時を使用しないことの利点はありますか? 質問2 現在、2つの日付の間の顧客を見つけるために、数値の日付をループ処理しています。startおよびenddateが2か月にわたる場合、60だけではなく数千のレコードを取得します。例: create table #temp1(day int,capacity int) /* just a temp table */ declare @start int declare @end int set @start=20111201 set @end = 20120131 while (@start <= @end) Begin insert into #temp1 /* I am storing things in #temp table so …

3
MySQLで西暦1000年より前の日付を処理する最良の方法は?
1000 ADより前に拡張するレコードのデータベースを作成していますが、MySQLのDateおよびDateTimeフィールドは1000から始まる日付のみをサポートしています。 bigint型を使用してUnixタイムスタンプを使用して1970年1月1日の前/後の秒数をカウントする方法、またはより広い日付範囲をサポートするデータベースソフトウェアに切り替える方法よりも便利な方法はありますか?

2
SQL ServerにはDate_Format関数がありますか?
私が見つけたすべては、このDateFormatように、私が選択できる事前定義のリストです MySQL(およびPostgeSQLでも?)で覚えているように、日付形式を定義できます。 DATE_FORMAT(now(),'&m_%Y') --for 02_2012 etc. SQL Serverには同じ機能がありますか?そのようなことをするために人々は関数を書かなければならないのを見ます、それは組み込みのものを持っていますか? 編集: DatePart関数を見つけました。月を数値としてとることができますが、使用しても常に1桁を返します datePart(MM, getdate())
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.