SQL Compact Edition中是否有任何设置来设置SQL Server中的日期格式?如果有,请求您提供样本查询。
答案 0 :(得分:1)
在查询中使用通用字符串表示,或者如果使用ADO.NET,请使用参数化查询:
SELECT MyDate From MyTable WHERE MyDate = {ts ‘2009-05-11 23:00:00’}
http://erikej.blogspot.dk/2009/06/scripting-sql-datetime-fields-and.html
答案 1 :(得分:0)
SQL Compact版本不支持命令SET DATEFORMAT
或其等效命令。
但是,您可以在创建数据库.sdf
文件时尝试指定LCID。 http://technet.microsoft.com/en-us/library/ms171966%28v=sql.110%29.aspx
使用例如创建SQL数据库您可以使用捷克LCID:
using System.Data.SqlServerCe;
...
string connStr = @"Data Source='c:\Test.sdf'; LCID=1029; Case Sensitive = FALSE";
SqlCeEngine engine = new SqlCeEngine(connStr);
engine.CreateDatabase();
engine.Dispose();
然而,当我尝试
时 SELECT * FROM mytable WHERE mydate='10.2.2014'
它返回0 recrds但是:
SELECT * FROM mytable WHERE mydate='20140210'
返回1条记录。
另外
INSERT INTO mytable (mydate) VALUES ('30.7.2014')
返回格式错误。
因此,您似乎必须使用标准格式,例如'20140210',执行CONVERT
或CAST
,或者在代码中以其他方式处理它。