問題タブ [sql-timestamp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - sql.timestamp を使用して新しい日を確認する
私はいくつかのレガシーコードで作業しており、いくつかの値を繰り返し処理しています。レガシーコードは、sql.timestamp 値を使用して新しい日の始まりをチェックしています:
結果はnever0
なので、if
whenにのみ入りますi >= throughputEntries.size()
彼がどのように結果を得ていたのか、私には理解できません0
。おそらく彼のデータは異なっていて、常に特定の期間で終了し、0
日付を確認するためにコードを書き直すこともできますが、彼が自分のコードでそれをどのように達成したか知りたいです。
私が提供したコードでこれを解決できるかどうかはわかりませんが、何か不足している可能性があります...
編集
@t0r0Xと@Leoのおかげで、最終的にこれについて頭を悩ませました
次のようにJoda-Timeを使用するようにコードを変更しました。
おそらく、私が書いた方法よりも新しい日付を確認するためのよりクリーンな方法ですが、時間は誰も待っていません。
sql - タイムスタンプ列の LIKE 演算子、SQL Server
LIKE
タイムスタンプ (rowversion) データ型を持つ列で演算子を使用するにはどうすればよいですか?
以下は私が試したクエリですが、うまくいきませんでした。
また、タイムスタンプ値で一重引用符を使用することはできません。
LIKE
演算子を使用して行のバージョン管理のパターンを見つけたいと思います。を使用CAST
すると、パターンが見つかりません。
何か案が ?
ありがとう、
scala - データフレームから完全なタイムスタンプ値を取得するには? 切り捨てられる値
文字列を取り、それを「MM-DD-YYYY HH24:MI:SS.NS」形式のタイムスタンプに変換する関数「toDate(v:String):Timestamp」があります。
関数の udf を作成します。
この問題は、UDF を に適用すると発生しますdataframes
。その結果dataframe
、最後の 3 ナノ秒が失われます。たとえば、引数「0001-01-01 00:00:00.123456789」を使用すると、結果のデータフレームは [0001-01-01 00:00:00.123456] の形式になります。
を返すダミー関数も試しましたTimestamp.valueOf("1234-01-01 00:00:00.123456789")
。ダミー関数の を適用するudf
と、最後の 3 ナノ秒が切り捨てられます。
sqlContext conf を調べたところ、spark.sql.parquet.int96AsTimestamp が True に設定されています。(falseにしてみました)
私はここで途方に暮れています。最後の 3 桁が切り捨てられる原因は何ですか?
例
関数は次
def date123(v: String): Timestamp = {
Timestamp.valueOf("0001-01-01 00:00:00.123456789")
}
のようになります。完全なナノ秒精度でタイムスタンプを返す必要がある単なるダミー関数です。
次に、udf を作成します。
例df:
val theRow =Row("blah")
val theRdd = sc.makeRDD(Array(theRow))
case class X(x: String )
val df = theRdd.map{case Row(s0) => X(s0.asInstanceOf[String])}.toDF()
文字列列を持つデータフレームにudfを適用するdf
と、「[0001-01-01 00:00:00.123456]」のようなデータフレームが返されます
df.select(u_date123($"x")).collect.foreach(println)
java - jOOQ フェッチされたタイムスタンプにナノ秒がありません
postgres dbで、jOOQを使用して、次のように定義された列を持つ行をフェッチすると
select を実行して値を取得すると (jOOQ によって にフェッチされますjava.sql.Timestamp
)、ナノ秒が欠落していることがわかります。
たとえば、私が持っているデータベースでは:
しかし、jOOQ は値を含むタイムスタンプを返します
これは、さらなる比較の問題です。どうすればこれを防ぐことができますか?
更新 リクエストに応じて、詳細を提供します。
Postgresql には次のタイプがあります。
ルーチンを使用して、関数を呼び出します。
次に、タイムスタンプにはナノがありません
機能は次のとおりです。
mysql - テーブルの作成中にSQLでmm/dd/yyyy形式を読み込もうとしています
したがって、私は SQL の初心者であり、後で .csv ファイルをインポートするテーブルを作成しようとしています。この表には、mm/dd/yyyy hh:mi:ss を読み取るように設定したいタイムスタンプ列がありますが、これを試してみました。
そして、私はこのエラーが発生します
私はこれを理解できないようです。
どんな助けでも構いません。ありがとう!