sql - 将sql参数更改为十进制日期

标签 sql database crystal-reports db2

我在 Crystal Reports 中有一个 SQL 命令(如果你不熟悉 Crystal 也没关系),我需要将日期参数转换为小数(以匹配数据库中的列。)

SELECT decimaldate FROM TABLE1 WHERE decimaldate = {?normaldate} 
--ex: 12/01/2011 needs to become 12012011

如果我在上面的查询中使用 CAST,它不起作用:

SELECT decimaldate FROM TABLE1 WHERE decimaldate =
 CAST(CAST{?normaldate} AS VARCHAR) AS DECIMAL)

最佳答案

尝试这样的事情。

 select CAST(replace(convert(varchar, getdate(), 101), '/', '') AS DECIMAL)

或者类似这样的内容,其中@normaldate 是搜索日期。

SELECT decimaldate FROM TABLE1 WHERE decimaldate = CAST(replace(convert(varchar, @normaldate, 101), '/', '') AS DECIMAL)

关于sql - 将sql参数更改为十进制日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8578252/

相关文章:

database - Oracle 特定的时间戳格式 'DD-MON-RR HH.MI.SSXFF AM'

mysql - 如何从 Mysql 中的分层数据中获取位置名称?

sql - 创建计算列并舍入

php - mysql - Where 子句中的未知列

database - 错误 :must be owner of database

database - Hibernate saveOrUpdate vs update vs save/persist

php - 通过 PHP 挂起生成 Crystal Report

c# - 使用 C# 和 Sql 服务器创建 Crystal 报表

mysql - 从 ListView 内容生成报表到 Crystal 报表时提示数据库登录

mysql - 如何找到下一个订单ID mysql