我想将文本日期转换为系统日期格式。我怎么能做到这一点?
例如,我有我想要转换它的格式'MM/DD/YYYY'
,但它可以更改,可以是dd/mm/yyyy
或yyyy/mm/dd
。
答案 0 :(得分:0)
这是一个例子
SELECT CONVERT(DATETIME,'04/13/2016',101)
结果是datetime数据类型
答案 1 :(得分:0)
如果要将日期强制为格式化文本,则可以使用FORMAT
函数从SQL Server 2012及更高版本开始:https://msdn.microsoft.com/en-us/library/hh213505.aspx
对于早期版本,您可以使用以下内容:
DECLARE @d DATETIME=GETDATE();
DECLARE @TargetFormat VARCHAR(100)='DD/MM/YYYY';
SELECT CONVERT(VARCHAR(100),@d, CASE @TargetFormat
WHEN 'MM/DD/YYYY' THEN 101
WHEN 'DD/MM/YYYY' THEN 103
--add all formats convert can undertsand
ELSE 101 END )
请看这里:https://msdn.microsoft.com/en-us/library/ms187928.aspx
CONVERT
中的第三个参数指定格式。
MM / DD / YYYY为101,dd / mm / yyyy为103
但是:你应该避免使用日期文字,因为它们取决于你的系统文化。
根据您的问题,我知道您是来源的所有者,因此您可以根据需要进行更改。我强烈建议您使用独立格式。