Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 操作DATEADD以正确格式显示日期_Sql_Sql Server 2008 - Fatal编程技术网

Sql 操作DATEADD以正确格式显示日期

Sql 操作DATEADD以正确格式显示日期,sql,sql-server-2008,Sql,Sql Server 2008,我知道这是一个很容易解决的问题,但它已经困扰了我一整天了!我创建了一个临时表,我想输入上个月第一天的日期,因此我使用了: DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1, 0) as [Last Month] 在我的表格中填入2014-12-01,但我希望它显示为2014年12月1日。我已经尝试了很多次让它工作,但我似乎无法让它工作,我试图将DATEADD合并到下面的SQL语句中,但无法让它运行 replace(LEFT(convert(NVARC

我知道这是一个很容易解决的问题,但它已经困扰了我一整天了!我创建了一个临时表,我想输入上个月第一天的日期,因此我使用了:

DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1, 0) as [Last Month]
在我的表格中填入2014-12-01,但我希望它显示为2014年12月1日。我已经尝试了很多次让它工作,但我似乎无法让它工作,我试图将DATEADD合并到下面的SQL语句中,但无法让它运行

replace(LEFT(convert(NVARCHAR, getdate(), 106),6) + '/' + RIGHT(year(convert(NVARCHAR, getdate(), 106)),2), ' ', '/') as [Last Month],
我试图插入的列的类型为DATE

使用:

CONVERT(VARCHAR,DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1, 0),103)
以下链接中列出了转换类型:

日期是一种具有规定格式的数据类型,SQL Server的默认值为YYYY-MM-DD。当您操作日期的格式,然后将其推回到日期字段中时,只要操作的日期仍然是SQL可接受的格式之一,它就会将操作的日期转换为标准日期格式进行存储


您可以使用CONVERTVARCHAR…在检索时更改显示的格式,。。。。您不应仅为了保留所需的格式类型而将日期存储为VARCHAR,这将破坏您正确使用日期的能力,每次使用都需要强制转换/转换。

尝试将以下网页用作参考,但无法使其正常工作:CONVERTVARCHAR10、DATEADDMONTH、DATEDIFFMONTH、0、GETDATE-1,0103如果要插入的列的类型为date或datetime,则存储日期的格式无关紧要。提供适当的格式来显示日期—无论是通过SQL转换还是前端的tostring方法—设置日期格式的首选位置是您唯一应该关注日期格式的时间—我刚刚意识到这是一个问题,因为我将其作为日期,所以我需要转换它!你知道这方面有什么好文章吗,因为我对这些日期毫无用处:好吧,你已经知道关键词:CONVERT。在T-SQL手册中查找,您会在那里找到答案。这不起作用,因为我正在插入一个临时表,该临时表在创建table@user3538102唉,日期只是一个日期,它没有格式。如果你想把它转换成某种特定的格式,那么你需要把它转换成一个字符串,插入这段SQL后,返回的是2014-01-12,而不是2014年1月12日。您是否阅读了关于您的问题的几条评论,说明日期格式在存储在日期/日期时间字段中时并不重要?@user3538102我想这就是我们想知道的,至少我是。日期就是日期就是日期就是日期就是日期。。。如果您觉得在持久化或放入临时表时必须采用特定格式,那么您想做什么?