TSQL 将日期差格式化为“YY 年 MM 月和 DD 天”
好吧,这是一个有点奇怪的请求。我们试图在 PeopleSoft 的报告中得到格式化的“年龄”语句,它提供了一个基于“TSQL”的构建器,这是相当无用的。我们不能使用存储函数,也不能将整个 SQL 语句作为一件事进行编辑。我们所能做的就是逐个字段说出公式是什么,然后该工具会将其所有元素连接在一起以生成查询。
因此,考虑到这一限制,我们如何才能将两个日期之间的差异格式化为人类可读的句子 例如。 “14 年 3 个月零 10 天”
任何想法将不胜感激。
Ok this is a little bit of a strange request. We are trying to get a formatted "age" statement to come out in a report in PeopleSoft, it provides a "TSQL" based builder which is fairly unhelpful. We cannot use stored functions and we cannot edit the entire SQL statement as one thing. All we can do is say field by field what the formula is, then the tool will join it all the elements together to produce the query.
So, given that restriction how can we get the difference between two dates to be formatted as a nicely human readable sentence
eg. "14 years, 3 months and 10 days"
Any ideas would be greatly appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您可以使用字符串连接,这将为您提供年数:
这将为您提供月份:
这将为您提供天值:
您可以 参见 &使用此保存的查询进行测试我发布在StackExchange Data Explorer上。它使用 Azure,并使用 TSQL...
If you can use string concatenation, this will give you the number of years:
This will give you the months:
And this will give you the days value:
You can see & test using this saved query I posted on the StackExchange Data Explorer. It uses Azure, with uses TSQL...
您可以使用任何您喜欢的公式。您只需将返回类型和 SQL 函数放入表达式选项卡中,然后将表达式用作字段即可。
You can use whatever formula you like. You simply put the return type, and the SQL function in the expression tab, then use the expression as a field.