我知道这个星期几的功能"从日期值。是否有可能获得"星期几"并将日期保留在同一列中?
示例记录:2017年1月20日
预期产出:2017年1月20日星期五
我使用的是Microsoft SQL Server 2008 R2。
答案 0 :(得分:0)
我不确定
但看起来你正在寻找像这样的东西
DECLARE @dummyDate VARCHAR(50) = 'January 20, 2017'
SET @dummyDate = (SELECT CONCAT(DATENAME(dw,@dummyDate ),','+@dummyDate ))
SELECT @dummyDate
答案 1 :(得分:0)
主要问题是:如何存储价值?
是真实的 DATE
还是DATETIME
(还有更多)列,还是将此值存储为字符串?
如果此值存储在适当类型的列中,则内部值不是您看到的值。你看到的是对内部存储的二进制值的文本表示,并取决于语言和文化设置。
如果此值存储为您向我们显示的文本,我会真的推动它来改变它。 特定于文化的格式很糟糕,但特定于文化的和语言相关的格式直接来自地狱...
正如Jon Skeet在评论中告诉你的那样,格式化问题在你的演示层中做得更好。
CONVERT
使用相应的格式代码(107?)并将其与日期名称连接起来。