这不是一个问题,只是一个问题。
当我在玩SQL查询时,我发现了一些我无法知道它是如何发生的事情。
我使用了以下查询:
select Replace(getdate(),'-','')
我得到了像
这样的结果May 9 2014 4:51PM
现在,我想将查询更改为:
Select REPLACE(Getdate(),'-','/')
或使用任何其他字符代替'/',我得到了相同的输出。
如果有人可以解释这是怎么回事,我将不胜感激。是的,还有一件事,你能不能指导我如何格式化这个问题,因为我知道这个问题在发布之后需要格式化......:P
答案 0 :(得分:2)
REPLACE()函数将datetime值转换为日期的字符串表示
答案 1 :(得分:2)
替换功能的定义为:
REPLACE ( string_expression , string_pattern , string_replacement )
其中
现在发生的事情是Getdate()将当前日期作为datetime
数据类型返回,该数据类型被隐式转换为varchar或者说一个字符串表达式来评估函数。尝试将getdate()转换为varchar,如下所示,你应该解决你的困惑:
select CAST( getdate() AS nvarchar(25))
您可以在此处详细了解隐式转化: http://msdn.microsoft.com/en-us/library/ms187928.aspx