sql语句为UPDATE [dbo].[pms_plan] SET list_order = 8 WHERE Format ( CreateDate, 'yyyy-MM-dd' ) = '2022-10-23' AND list_order = '9' and id='1';,用SQLsugar如何写
时间: 2024-01-31 09:04:34 浏览: 21
使用 SQLsugar,可以这样写:
```
Db.Updateable<PmsPlan>()
.SetColumns(p => new PmsPlan() { ListOrder = 8 })
.Where(p => SqlFunc.DateToString(p.CreateDate, "yyyy-MM-dd") == "2022-10-23" && p.ListOrder == 9 && p.Id == 1)
.ExecuteCommand();
```
其中,`PmsPlan` 是实体类,对应数据库中的 `pms_plan` 表。`SetColumns` 方法用于设置要更新的列和值,这里使用匿名类型指定要更新 `ListOrder` 列为 8。`Where` 方法用于设置更新的条件,这里使用 `SqlFunc.DateToString` 方法将 `CreateDate` 字段转换为字符串,以便与给定日期字符串比较。最后,使用 `ExecuteCommand` 方法执行更新操作。
相关问题
sql语句为:SELECT top 1* from [dbo].[pms_plan] WHERE list_order>8用SQLsugar写法
使用SQLSugar的写法如下:
```
var plan = Db.Queryable<pms_plan>()
.Where(p => p.list_order > 8)
.OrderBy(p => p.list_order, OrderByType.Asc)
.Take(1)
.ToList();
```
其中,Db是SQLSugar的DB实例,pms_plan是表对应的实体类。上面的代码会查询出list_order大于8的pms_plan表中排序最小的一条记录。
SQL语句为:SELECT top 1* from [dbo].[pms_plan] WHERE list_order<8 ORDER BY list_order DESC,用SQLsugar写如何写
使用SQLSugar,可以这样写:
```
var db = new SqlSugarClient(new ConnectionConfig()
{
ConnectionString = "YourConnectionString",
DbType = DbType.SqlServer,
IsAutoCloseConnection = true
});
var result = db.Queryable<pms_plan>().Where(p => p.list_order < 8).OrderBy(p => p.list_order, OrderByType.Desc).Take(1).ToList();
```
其中,`pms_plan` 是表名,`list_order` 是字段名,`<8` 表示小于 8 的记录,`OrderBy` 指定按照 `list_order` 降序排序,`Take(1)` 表示只取一条记录。
注意要替换你的连接字符串。