我可以为你进行翻译。以下是需要翻译的内容:
我有一个日期列,其日期格式为
2010-04-14
在SQL Server中,有没有可能检索日期格式为的任何可能方法
14/04/2010
在 SELECT 语句中?
我可以为你进行翻译。以下是需要翻译的内容:
我有一个日期列,其日期格式为
2010-04-14
14/04/2010
试试这个:
SELECT CONVERT(VARCHAR(10), GETDATE(), 103) AS [DD/MM/YYYY]
补充1:
如我在评论中所述,您需要将字段转换为 DATETIME
类型,然后上述方法才能生效。以下示例在 SQL Server 上应该可以使用:
SELECT CONVERT(VARCHAR(10), CAST('2010-04-14' AS DATETIME), 103) AS [DD/MM/YYYY]
那么您需要将日期字段更改为Msg 242, Level 16, State 3, Line 1 将varchar数据类型转换为datetime数据类型时导致值超出范围。
YYYY-MM-DD
格式,例如:2010-14-04。
或者
在选择语句之前添加以下行:SET DATEFORMAT MDY -- Input dates are in the MM/DD/YYYY format, change to DMY to handle UK dates
例子:
SET DATEFORMAT MDY;
SELECT CONVERT(VARCHAR(10), CAST('2010-04-14' AS DATETIME), 103) AS [DD/MM/YYYY]
YYYY-MM-DD
不同。 - aF.解决问题的另一种方法:
select substring(columnName, 9, 2) + '/' + substring(columnName, 6, 2) + '/' + substring(columnName, 1, 4)
SET DATEFORMAT MDY
,这样就不需要进行字符串操作了。 - Stuart Blacklerselect replace(datetime,'-','/')
CONVERT
将日期转换为您选择的字符串格式 - 这里是完整列表 SQL Server 支持的所有日期格式 - 挑选一个吧!对于您的情况,请使用SELECT CONVERT(VARCHAR(20), GETDATE(), 103)
。 - marc_s