原来的SQL语句是:
SELECT SA.[RequestStartDate] as 'Service Start Date',
SA.[RequestEndDate] as 'Service End Date',
FROM
(......)SA
WHERE......
输出日期格式为YYYY/MM/DD,但我希望输出日期格式为DD/MM/YYYY。我该如何修改此声明?
尝试这样...
select CONVERT (varchar(10), getdate(), 103) AS [DD/MM/YYYY]
了解更多信息:http://www.sql-server-helper.com/tips/date-formats.aspx
更改为:
SELECT FORMAT(SA.[RequestStartDate],'dd/MM/yyyy') as 'Service Start Date', SA.[RequestEndDate] as 'Service End Date', FROM (......)SA WHERE......
不知道您使用的是哪种SQL引擎,对于其他SQL引擎,可以在SELECT语句中使用CONVERT将格式更改为您需要的形式。
还有另一种方法可以做到这一点-
select TO_CHAR(SA.[RequestStartDate] , 'DD/MM/YYYY') as RequestStartDate from ... ;
尝试:
SELECT convert(nvarchar(10), SA.[RequestStartDate], 103) as 'Service Start Date',
convert(nvarchar(10), SA.[RequestEndDate], 103) as 'Service End Date',
FROM
(......)SA
WHERE......
或者:
SELECT format(SA.[RequestStartDate], 'dd/MM/yyyy') as 'Service Start Date',
format(SA.[RequestEndDate], 'dd/MM/yyyy') as 'Service End Date',
FROM
(......)SA
WHERE......
您将需要使用 CONVERT() 语句。
尝试以下操作;
SELECT CONVERT(VARCHAR(10), SA.[RequestStartDate], 103) as 'Service Start Date', CONVERT(VARCHAR(10), SA.[RequestEndDate], 103) as 'Service End Date', FROM (......) SA WHERE.....
有关更多信息,请参阅 MSDN 投射和转换。
这取决于 DBMS。事实上,在 Oracle SQL 上,您更愿意编写 SELECT TO_CHAR(
我使用的是 Oracle,我必须选择多个列并以 YYYY-MM-DD 格式输出日期列,这有效
select <column_1>, to_char(<date_column>, 'YYYY-MM-DD') as <Alias_name> from <table_name>
SELECT column1, DATE_FORMAT(ColumnName, "%d/%M/%Y") as column2, column3 FROM tableName;
你可以在这里看到