Sql server 在sql server中转换数据类型时出错

Sql server 在sql server中转换数据类型时出错,sql-server,datetime,decimal,to-char,Sql Server,Datetime,Decimal,To Char,在sql server中运行此语句时出错 DECIMAL(TO_CHAR(CURRENT TIMESTAMP -1 DAYS,'yyyymmdd')8,0) 对于MSSQL,它是当前的时间戳,您忘记了下划线。我不知道你想用什么来完成任务。。。但这并不是这种语法的唯一问题。你在这里混合了很多不同的RDBMS 我只是猜测你想做什么,但这似乎是你想要的: SELECT CAST(DATEADD(DD, -1, CURRENT_TIMESTAMP) AS DECIMAL(8, 0)) 这是MS s

在sql server中运行此语句时出错

DECIMAL(TO_CHAR(CURRENT TIMESTAMP -1 DAYS,'yyyymmdd')8,0)
对于MSSQL,它是当前的时间戳,您忘记了下划线。我不知道你想用什么来完成任务。。。但这并不是这种语法的唯一问题。你在这里混合了很多不同的RDBMS

我只是猜测你想做什么,但这似乎是你想要的:

 SELECT CAST(DATEADD(DD, -1, CURRENT_TIMESTAMP) AS DECIMAL(8, 0))

这是MS sql server吗?您收到的具体错误是什么?它会在关键字“CURRENT”附近抛出SQLf-SqlState:37000、错误代码:156、错误消息:[Microsoft][ODBC SQL Server驱动程序][SQL Server]错误语法。我也尝试了CAST/CONVERT,但没有得到结果。我想添加前一天的记录。是的,它只是Sql server。不过,该语句在DB2中运行良好。DB2和ms sql server之间的sql语言并不完全相同。您能告诉我您希望这个特定语句做什么吗?我希望我的查询返回到系统日期的某一天并提取数据。日期字段应为YYYYMMDD格式,仅限Tanks Michael。这很有效。有一天,我试着返回查询并提取数据。现在我看不到前一天的数据,尽管是DB。再次感谢