在SQL Compact Edition中更改日期格式

时间:2014-09-18 05:14:01

标签: sql sql-server-ce

SQL Compact Edition中是否有任何设置来设置SQL Server中的日期格式?如果有,请求您提供样本查询。

2 个答案:

答案 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',执行CONVERTCAST,或者在代码中以其他方式处理它。