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

コメント