使用Microsoft SQL Server,我尝试将A.CHECK_DT格式化为mmddyyyy - 使用前导零,因此今年1月11日看起来像:01112019。 麻烦是我尝试的一切都没有正确。我最接近改变格式的是:
CONCAT(MONTH((CONVERT(CHAR(10(,A.CHECK_DT,101(((,DAY((CONVERT(CHAR(10(,A.CHECK_DT,101((,YEAR((CONVERT(CHAR(10(,A.CHECK_DT,101((((
但这会将日期转换为1182019,没有前导零。有人有什么想法吗?
我想通了:
此脚本将为您提供MMDDYYYY的格式
替换(转换(VARCHAR(10(, CAST(A.CHECK_DT AS DATE(, 101(,'/',''(
(表达式类型 = 字符,长度 10(
[编辑] 下面的评论适用于Oracle数据库,但事实证明这个问题是针对Microsoft SQL Server的。我留下答案,以防它对通过搜索找到这个问题的其他人有用。
假设您在 oracle 上,请尝试在
TO_CHAR
函数告诉它您要如何格式化输出。您可以使用
TO_CHAR
设置日期格式。 语法类似于TO_CHAR(YOURDATE,YOURFORMAT)
.对于您的具体示例,它 会TO_CHAR(A.CHECK_DT,'MMDDYYYY')
下面是一个将此 SQL 显示为工作查询的网页:
- http://sqlfiddle.com/#!4/f2c01/3
以下是我通过搜索找到的一些好资源:
Oracle TO_CHAR
:
https://www.techonthenet.com/oracle/functions/to_char.php
http://psoug.org/definition/TO_CHAR.htm
http://www.dba-oracle.com/f_to_char_sql.htm
当然,总是有 Oracle 文档(尽管它倾向于 要有更少的例子(:
https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions180.htm
https://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements004.htm#i34510