Sql将十六进制日期强制转换为mysql varchar(日期)
我有十六进制转换(0x0000A2F5016C1769作为DateTime)到mysql DateTime的代码, 从 代码: 但是我需要将CAST dateSql将十六进制日期强制转换为mysql varchar(日期),mysql,sql-server,Mysql,Sql Server,我有十六进制转换(0x0000A2F5016C1769作为DateTime)到mysql DateTime的代码, 从 代码: 但是我需要将CAST dateCAST(0xA2380B00 AS date)转换为varchar date 有可能吗?嗯,我真的不明白为什么需要将它转换为varchar,因为如果我没有弄错的话,datetime在大多数情况下(如果不是所有情况的话)的行为都像字符串。 但是,您可以使用该函数。它输出字符串,您可以根据需要设置日期时间的格式。要插入mysql DBSo中吗
CAST(0xA2380B00 AS date)
转换为varchar date
有可能吗?嗯,我真的不明白为什么需要将它转换为varchar,因为如果我没有弄错的话,datetime在大多数情况下(如果不是所有情况的话)的行为都像字符串。
但是,您可以使用该函数。它输出字符串,您可以根据需要设置日期时间的格式。要插入mysql DBSo中吗<代码>选择转换日期从(选择0x0000A34900BD693D作为二进制数据)d转换为转换日期的转换(转换('1900-01-01'+间隔转换(CONV(子字符串(十六进制(二进制数据),1,8),16,10)天+间隔转换(CONV(子字符串(十六进制(二进制数据),9,8),16,10)作为签名)*10000/3微秒作为日期)代码>日期-0xA2380B00。。。结果-空
SELECT CAST(
'1900-01-01 00:00:00' +
INTERVAL CAST(CONV(substr(HEX(BinaryData),1,8), 16, 10) AS SIGNED) DAY +
INTERVAL CAST(CONV(substr(HEX(BinaryData),9,8),16,10) AS SIGNED)* 10000/3 MICROSECOND
AS DATETIME) AS converted_datetime
FROM
(
SELECT 0x0000A34900BD693D AS BinaryData
) d