SQL Server 日期格式为日/月/年时:分:秒

ee7vknir  于 2022-12-22  发布在  其他
关注(0)|答案(8)|浏览(160)

我需要将日期时间从2012-07-29 10:53:33.010转换为29/07/2012 10:53:33
我试着用

select CONVERT(varchar(20), GETDATE(), 131)

但根据回历它的出现日期

11/09/1433 10:53:33:

请帮帮忙?

uurv41yg

uurv41yg1#

SELECT FORMAT(your_column_name,'dd/MM/yyyy hh:mm:ss') FROM your_table_name

例如-

SELECT FORMAT(GETDATE(),'dd/MM/yyyy hh:mm:ss')
jqjz2hbq

jqjz2hbq2#

这可以通过以下方式实现:

select CONVERT(VARCHAR(10), GETDATE(), 103) + ' '  + convert(VARCHAR(8), GETDATE(), 14)

希望能有所帮助

7lrncoxx

7lrncoxx3#

您可以合并2种格式:

3   dd/mm/yy   (British/French)
8   hh:mm:ss

根据CONVERT() function,使用+运算符:

SELECT CONVERT(varchar(10),GETDATE(),3) + ' ' + CONVERT(varchar(10),GETDATE(),8)
6jjcrrmo

6jjcrrmo4#

SELECT CONVERT(CHAR(10),GETDATE(),103) + ' ' + RIGHT(CONVERT(CHAR(26),GETDATE(),109),14)
ct3nt3jp

ct3nt3jp5#

MSDN联机丛书中有关CAST and CONVERT的章节,您少了一行正确答案....您可以使用样式编号121(* ODBC规范(毫秒)*)来获得所需的结果:

SELECT CONVERT(VARCHAR(30), GETDATE(), 121)

这将给出以下输出:

2012-04-14 21:44:03.793
    • 更新:基于您更新的问题-当然这不会起作用-您正在转换一个字符串(这:'4/14/2012 2:44:01 PM'只是一个字符串-它不是**日期时间!)到字符串......

您需要首先将字符串转换为DATETIME,然后THEN将其转换回字符串!
试试这个:

SELECT CONVERT(VARCHAR(30), CAST('4/14/2012 2:44:01 PM' AS DATETIME), 121)

现在您应该得到:

2012-04-14 14:44:01.000

很明显,毫秒都是零,因为原始值不包括任何......

cig3rfwq

cig3rfwq6#

CREATE FUNCTION DBO.ConvertDateToVarchar
(
@DATE DATETIME
)

RETURNS VARCHAR(24) 
BEGIN
RETURN (SELECT CONVERT(VARCHAR(19),@DATE, 121))
END
myzjeezk

myzjeezk7#

选择**日期格式(NOW(),' % d/%m/%Y %h:%m:% s')**从双重
在任何需要的地方尝试这个,我已经在SpringBoot项目的JpaRepository中使用了这个。

oyjwcjzk

oyjwcjzk8#

这将是varchar,但应根据需要进行格式化。

RIGHT('0' + LTRIM(DAY(d)), 2) + '/'
+ RIGHT('0' + LTRIM(MONTH(d)), 2) + '/'
+ LTRIM(YEAR(d)) + ' '
+ RIGHT('0' + LTRIM(DATEPART(HOUR, d)), 2) + ':'
+ RIGHT('0' + LTRIM(DATEPART(MINUTE, d)), 2) + ':'
+ RIGHT('0' + LTRIM(DATEPART(SECOND, d)), 2)

其中ddatetime字段或变量。

相关问题