可以使用 Cast TimeStamp
Cast TimeStamp so like could be used
有人可以告诉我如何在 Firebird 中以一种稍后可以在 like 语句中使用的方式来转换时间戳。行语句只会搜索时间戳的日期部分,所以我想它可以先转换为日期,然后再转换为 varchar(10)。
我明白了,但它不能正常工作
SELECT t.createdon
FROM wstaskinstance t
WHERE CAST(CAST (t.createdon AS DATE) AS VARCHAR(10)) LIKE :Date
如果我没理解错的话,您可以在过滤器中输入一些内容,然后在 :Date
参数中进行设置。那么您的查询应该像这样编辑:
SELECT t.createdon
FROM wstaskinstance t
WHERE CAST(CAST (t.createdon AS DATE) AS VARCHAR(10)) LIKE ('%'||:Date||'%')
如果您想 return 所有年份的所有日期,请改用 CONTAINING。例如,如果您将“11-20”作为 :date 参数传递,它将 return 所有年份的所有日期包含 (2001-11-20,2004-11-20, 2015-11-20... ).
SELECT t.createdon
FROM wstaskinstance t
WHERE CAST(CAST (t.createdon AS DATE) AS VARCHAR(10))
CONTAINING :Date
有人可以告诉我如何在 Firebird 中以一种稍后可以在 like 语句中使用的方式来转换时间戳。行语句只会搜索时间戳的日期部分,所以我想它可以先转换为日期,然后再转换为 varchar(10)。
我明白了,但它不能正常工作
SELECT t.createdon
FROM wstaskinstance t
WHERE CAST(CAST (t.createdon AS DATE) AS VARCHAR(10)) LIKE :Date
如果我没理解错的话,您可以在过滤器中输入一些内容,然后在 :Date
参数中进行设置。那么您的查询应该像这样编辑:
SELECT t.createdon
FROM wstaskinstance t
WHERE CAST(CAST (t.createdon AS DATE) AS VARCHAR(10)) LIKE ('%'||:Date||'%')
如果您想 return 所有年份的所有日期,请改用 CONTAINING。例如,如果您将“11-20”作为 :date 参数传递,它将 return 所有年份的所有日期包含 (2001-11-20,2004-11-20, 2015-11-20... ).
SELECT t.createdon
FROM wstaskinstance t
WHERE CAST(CAST (t.createdon AS DATE) AS VARCHAR(10))
CONTAINING :Date