我的表格中有一个日期格式单元格,我需要将月份提取为两位数。这意味着6-4-2021
应该返回04
。主要问题是这需要在 SQL-92 的语法中。关于如何做到这一点的任何想法?
问问题
85 次
2 回答
2
SQL-92
substring(
'0' || substring(<column> from position('-' in <column>) + 1 for 3)
from position(
'-' in
'0' || substring(<column> from position('-' in <column>) + 1 for 3)
) - 2
for 2
)
我想知道您是否真的在寻找 ODBC 函数。如果是这样,则locate()
等效于 for position()
,注意参数语法仅使用逗号分隔符。replace()
然后也可用于替代方法。
查看您的工具的一些参考资料,我会以这种方式翻译它,尽管看起来确实有一个dayOfMonth()
功能可以使这一切变得更加简单。
用于支持多源的 Universe 的 SAP BusinessObjects SQL
substring(
'0' || substring(<column>, pos('-', <column>) + 1, 3),
pos('-',
'0' || substring(<column>, pos('-', <column>) + 1, 3)
) - 2,
2
)
在 PostgreSQL 中查看它:http ://sqlfiddle.com/#!17/9eecb/72962
于 2021-04-06T14:27:03.823 回答
0
用于支持多源的 Universe 的 SAP BusinessObjects SQL
substring(concat('0', toString(month(<date>))), length(concat('0', toString(month(<date>))))-1, 2)
我在转换为字符串的月份数字前面放了一个 0,并取了字符串的最后两位数。
于 2021-04-07T07:58:35.020 回答