是否使用SQL将datetime列可移植地转换为字符串?

时间:2019-01-03 15:16:14

标签: sql h2 sybase

我在sybase中有一列定义为日期时间,并已使用

将其转换为字符串
ISNULL(CAST(CAST(most_recent_trades.asof_date AS DATE) AS VARCHAR(20))

事实证明,它在sybase中作为字符串的表示形式不同于我的单元测试数据库H2。

In sybase
Sep  1 2016

In H2
2016-09-01

该列也定义为H2中的日期时间。

是否有一种方法可以将datetime列转换为与Sybase和H2中的字符串表示形式相同的字符串(如果有帮助的话,我不需要它的时间部分)?

编辑: 我认为没有任何方法可以通过一个函数以可移植的方式执行此操作,因此我决定要做的是使用YEAR,MONTH和DAY函数(它们在Sybase和H2中都可用),提取各部分并将它们连接起来以创建一个日期,该日期在Sybase和H2中均以字符串表示时将相同。此时,这对我有用。

1 个答案:

答案 0 :(得分:0)

我将使用CONVERT()函数的格式121,然后获取它的日期部分,如:

substring(convert(varchar(30), most_recent_trades.asof_date, 121), 1, 10)