Как вы конвертируете VARCHAR в TIMESTAMP в MSSQL?

TIMESTAMP семантически эквивалентен sql-server VARBINARY(8) (обнуляемый) или mssql BINARY(8) (необнуляемый). Таким timestamps образом, вы должны иметь sql-srever возможность вызывать процедуру sql-server с параметром без кавычек sql-srever следующим образом:

EXEC usp_MyProc @myParam=0x0000000002C490C8

См. также timestamp SQL Books Online

РЕДАКТИРОВАТЬ обновленный tsql вопрос...

Я только что провел varchar несколько экспериментов. Честно ms-sql-server говоря, мне любопытно, как tsql вы представили это как varchar sql-srever в первую очередь, с тех пор, как tsql я делаю что-то вроде:

select top 10 convert(varchar, ts) from foo

Где ms-sql-server ts — метка времени, я получаю transact-sql 10 пустых строк. (Если я tsql не конвертирую, я вижу свои ms-sql-server временные метки.)

Тем не менее, я mssql попытался работать над этим sql-server с правильного направления mssql ... Я сделал это:

select convert(timestamp, '0x0000000000170B2E')

И преобразование sql-srever привело к 0x3078303030303030. Так что это тоже mssql не сыграет. Не будет преобразования tsql в двоичный файл.

Ненавижу ms-sql-server это говорить, но вы можете mssql застрять в динамичном мире sql-srever SQL. Я бы действительно хотел бы ошибаться.

sql-server

tsql

timestamp

varchar

2022-09-17T22:19:07+00:00