SQL Server 将mm/dd/yyyy传递为yyyy-mm-dd日期格式

e7arh2l6  于 2023-01-08  发布在  其他
关注(0)|答案(2)|浏览(217)

我想知道是否有函数或简单的方法来传递格式日期mm/dd/yyyy
例如:2022年11月1日(2022年11月1日)
转换为此格式yyyy-mm-dd
例如:2022-11-01
现在,我把日期分割成一个字符串,分别得到日、月和年,然后按照我的意愿把它们放在一起,但我想知道是否有更好的方法来做到这一点。

bxjv4tth

bxjv4tth1#

这可以使用带有[USING culture]选项的PARSE来完成:

PARSE ( string_value AS data_type [ USING culture ] )

在你的例子中

SELECT PARSE('11/01/2022' AS datetime2 USING 'en-US');

输出:

2022-11-01

上面给出了date类型,它应该适合大多数任务,但如果需要获得首选格式的字符串,可以使用FORMAT

A.培养物特定输出:

一个三个三个一个
(请注意,一些国家/地区始终使用两位数表示日和月,而另一些国家/地区则不使用)

B.固定格式输出:

DECLARE @d DATE = PARSE('11/01/2022' AS date USING 'en-US');
SELECT FORMAT( d, 'yyyy-MM-dd') 'yyyy-MM-dd';
2022-11-01
fcy6dtqo

fcy6dtqo2#

假设你在一个TEXT字段中存储一个日期,这是不好的,但是如果确实如此,第一步是首先将它解析成一个DATETIME对象:

PARSE('11/01/2022' AS datetime USING 'en-US')

现在,它位于DATETIME中,使用FORMAT()将其格式化为所需的格式:

SELECT  FORMAT( PARSE('11/01/2022' AS datetime USING 'en-US') , 'yyyy-MM-dd')

退货:

2022-11-01

相关问题