SQL Serverのシステム型で用意されているTimestamp型は行の世代を示す列で、行に何等かの更新が発生すると自動的に値が変更されます。
更新の有無を把握する型であり、取得済のTimestampの値とテーブルの行に存在するTimestampの値に違いがあれば、その行に何等かの更新があったことになります。
SQL文内であればTimestamp値を比較することは可能ですが、TimeStamp値はByte配列として格納されているため、プログラムで扱える型に変換してから使うようになります。
そこで、TimeStampの値を文字列に変換する方法を紹介します。
TimeStamp型の値を文字列に変換するコード
TimeStamp型の値を受け取り、文字列に変換して戻すコードです。
プロジェクトどこからでも使用できるように「Public Function」で定義しましょう。
Module Module1 Public Function timestamptostring(tm As Byte()) As String Dim i As Integer Dim txTimestamp As String = "0x" For i = 0 To tm.Length - 1 txTimestamp &= Hex(tm(i)).PadLeft(2, "0") Next Return (txTimestamp) End Function End Module
TimeStamp型を文字列に変換するコードの使い方
Private Sub TimestampTest() Dim TxTs as String TxTs = timestamptostring(Timestamp型) End sub
コメント