从日期时间列提取日期-SQL Server Compact
我使用的是SQLServerCompact4.0版本,虽然在google中找到它似乎很简单,但我尝试过的示例都不起作用 我的列从日期时间列提取日期-SQL Server Compact,sql,sql-server-ce,Sql,Sql Server Ce,我使用的是SQLServerCompact4.0版本,虽然在google中找到它似乎很简单,但我尝试过的示例都不起作用 我的列signup\u date是一个DateTime,值为04-09-2016 09:05:00 到目前为止我所做的尝试都没有成功: SELECT FORMAT(signup_date, 'Y-m-d') AS signup_date; SELECT CONVERT(signup_date, GETDATE()) AS signup_date SELECT CAST(data
signup\u date
是一个DateTime
,值为04-09-2016 09:05:00
到目前为止我所做的尝试都没有成功:
SELECT FORMAT(signup_date, 'Y-m-d') AS signup_date;
SELECT CONVERT(signup_date, GETDATE()) AS signup_date
SELECT CAST(data_registo, date) AS signup_date
我发现我可以使用DATEPART
函数,但这会迫使我计算值,这是正确的路径吗?如果是的话,我该如何定义为Y-m-d
SELECT DATEPART(month, signup_date)
在SQL Server中执行此操作的老式方法可能适用于您的目的:
select dateadd(day, datediff(day, 0, signup_date), 0)
datediff()
获取自时间0以来的天数(作为整数)。dateadd()
如果您不喜欢将0
作为日期,则可以将任何有效日期替换为:
select dateadd(day, datediff(day, '2000-01-01', signup_date), '2000-01-01')
编辑:
如果您只是不想看到时间,请将日期转换为字符串:
select convert(nvarchar(10), signup_date, 120)
SELECT CONVERT(nvarchar(10), GETDATE(), 120)
(我推荐YYYY-MM-DD格式,但其他格式都是。)要获取字符串值,请使用转换
select convert(varchar(10), signup_date, 11)
在此处查看各种格式:
为了得到一个约会,并且去掉时间,做这个
Select Cast (signup_date as DATE)
SQL Server Compact没有日期类型
如果不想查看时间,请将datetime值转换为字符串:
select convert(nvarchar(10), signup_date, 120)
SELECT CONVERT(nvarchar(10), GETDATE(), 120)
(这已经过测试,实际上可以与SQL Server Compact配合使用)我已经尝试过这一解决方案和许多其他解决方案。我想要一个能与任何LCID一起工作的通用解决方案。我的解决方案是有点复杂的代码,但它对我来说非常适合。这是一个预订系统,我需要知道谁在特定日期到达ArriveDate
是列,d
是我想要的日期
SQL = "SELECT * FROM tablename WHERE dateadd(day, datediff(day, 0,
ArriveDate), 0)=' " & Format(d, "yyyy-MM-dd") & " ' "
这将只返回原始日期时间类型中的日期值。因此,您可以使用输出进行任何比较
SELECT convert(datetime, CONVERT(nvarchar(10), GETDATE(), 120))
今天刚看到这个问题,我知道有点晚了:)但也许这会有帮助
select convert(date,(convert(varchar(20),'04-09-2016 09:05:00')))
大多数答案都试图达到同样的目的,但对代码的解释是不够的
CONVERT(date, Date_Updated, 120)
此代码使用mssql进行转换。第一项“日期”是要返回的数据类型。可以是“datetime”、“varchar”等。
第二项“Date_Updated”是要转换的列的名称。
最后一项“120”是要返回的日期样式。有多种样式,输入的代码将决定输出。”120'表示YYYY-MM-DD。
希望这有助于选择convert(nvarchar,getdate(),1)=09/25/19
选择convert(nvarchar,getdate(),2)=19.09.25
选择convert(nvarchar,getdate(),3)=25/09/19
选择convert(nvarchar,getdate(),4)=25.09.19
选择convert(nvarchar,getdate(),5)=25-09-19
选择convert(nvarchar,getdate(),6)=19年9月25日
选择convert(nvarchar,getdate(),7)=19年9月25日
选择convert(nvarchar,getdate(),10)=09-25-19
选择convert(nvarchar,getdate(),11)=19/09/25
选择convert(nvarchar,getdate(),12)=190925
选择convert(nvarchar,getdate(),23)=2019-09-25
选择convert(nvarchar,getdate(),101)=2019年9月25日
选择convert(nvarchar,getdate(),102)=2019.09.25
选择convert(nvarchar,getdate(),103)=2019年9月25日
选择convert(nvarchar,getdate(),104)=2019年9月25日
选择convert(nvarchar,getdate(),105)=25-09-2019
选择convert(nvarchar,getdate(),106)=2019年9月25日
选择convert(nvarchar,getdate(),107)=2019年9月25日
选择convert(nvarchar,getdate(),110)=09-25-2019
选择convert(nvarchar,getdate(),111)=2019/09/25
选择convert(nvarchar,getdate(),112)=20190925
选择convert(nvarchar,getdate(),8)=13:48:36
选择convert(nvarchar,getdate(),14)=13:49:48:713
选择convert(nvarchar,getdate(),24)=13:49:57
选择convert(nvarchar,getdate(),108)=13:50:07
选择convert(nvarchar,getdate(),114)=13:50:14:490
选择convert(nvarchar,getdate(),0)=2019年9月25日下午1:50
选择convert(nvarchar,getdate(),9)=2019年9月25日下午1:50:31:813
选择convert(nvarchar,getdate(),13)=2019年9月25日13:50:39:307
选择convert(nvarchar,getdate(),20)=2019-09-2513:50:49
选择convert(nvarchar,getdate(),21)=2019-09-25 13:50:58.923
选择convert(nvarchar,getdate(),22)=09/25/19 1:51:07 PM
选择convert(nvarchar,getdate(),25)=2019-09-25 13:51:14.473
选择convert(nvarchar,getdate(),100)=2019年9月25日下午1:51
选择convert(nvarchar,getdate(),109)=2019年9月25日下午1:51:32:227
选择convert(nvarchar,getdate(),113)=2019年9月25日13:51:38:740
选择convert(nvarchar,getdate(),120)=2019-09-25 13:51:50
选择convert(nvarchar,getdate(),121)=2019-09-25 13:51:57.153
选择convert(nvarchar,getdate(),126)=2019-09-25T13:52:03.627使用此选项,我遇到了相同的问题
SELECT CAST(data_registo as date) AS "signup_date"
您是否尝试过转换(日期、注册日期)
?是的,它检索到错误:指定的数据类型无效。[数据类型(如果已知)=日期]
您的意思是要删除时间部分,只留下日期吗?我想从我的datetime列中检索日期。我可以通过c#代码实现这一点,但不能通过SQL实现。您的返回值是字符串还是日期类型?时间仍然返回。编辑也不起作用。错误:指定的数据类型无效。[数据类型(如果已知)=varchar]
所有解决方案均无效。错误:指定的数据类型无效。[数据类型(如果已知)=日期]
120返回的数据超出了您的需要,然后nvarchar(10)删除您不需要的数据。您可以使用selectconvert(nvarchar,getdate(),23)来代替它。您测试过吗?SQL Server CE未列出上述发布的数据类型。