SqlSugar SqlFunc常用方法

来源:https://www.cnblogs.com/fanwenkeer/p/18201687
-Advertisement-
Play Games

開始做項目管理了(本人3年java,來到這邊之後真沒想到...),天天開會溝通整理需求,他們講話的時候忙裡偷閑整理一下常用的方法,其實語言還是有共通性的,基本上看到方法名就大概能猜出來用法。出去打水的時候看到外面太陽好好,真想在外面坐著曬太陽,回來的時候好兄弟三年前送給我的鍵盤D鍵不靈了,在打"等待 ...


開始做項目管理了(本人3年java,來到這邊之後真沒想到...),天天開會溝通整理需求,他們講話的時候忙裡偷閑整理一下常用的方法,其實語言還是有共通性的,基本上看到方法名就大概能猜出來用法。出去打水的時候看到外面太陽好好,真想在外面坐著曬太陽,回來的時候好兄弟三年前送給我的鍵盤D鍵不靈了,在打"等待領導確定"這句話的時候綳不住了,我的人生乾脆給AI生成算了

邏輯判斷

IIF

//類似於三元表達式了
SqlFunc.IIF(it.EnabledMark == 1, "正常", "停用")

Equals

//是否相等
SqlFunc.Equals(object thisValue, object parameterValue)

IsNull

//判斷是否為空,不為空為後面參數值
SqlFunc.IsNull<TResult>(TResult thisValue, TResult ifNullValue)
//判斷是否為空,返回bool
SqlFunc.IsNullOrEmpty(object thisValue)

GreaterThan

//大於
SqlFunc.GreaterThan(object thisValue, object gtValue)
//大於等於
SqlFunc.GreaterThanOrEqual(object thisValue, object gtValue)

LessThan

//小於
SqlFunc.LessThan(object thisValue, object ltValue)
//小於等於
SqlFunc.LessThanOrEqual(object thisValue, object ltValue)

Between

//在區間內
Between(object value, object start, object end)

子查詢

Subqueryable

//子查詢
SqlFunc.Subqueryable<T> Subqueryable<T>() where T : class, new()
//查詢數據字典數據
SqlFunc.Subqueryable<DictionaryDataEntity>().Where(w => it.TransportMethod == w.EnCode && w.DictionaryTypeId == "xxx").Select(w => w.FullName)

時間函數

DateIsSame

//是否是同一時間 (DateType時間類型 年、月、天、小時、分鐘、秒、毫秒)
SqlFunc.DateIsSame(DateTime date1, DateTime date2, DateType dataType)
//同一天 SqlFunc.DateIsSame(DateTime date1, DateTime date2)
//同一月 it.createDate.ToString("yyyy-MM") == DateTime.Now.ToString("yyyy-MM")
//同一年 createDate.Year == DateTime.Now.Year

DateDiff

//計算時間差
SqlFunc.DateDiff(type, date1, DateTime.Now.AddDays(1)) 

DateAdd

//按照類型 給日期加時間
SqlFunc.DateAdd(DateTime date, int addValue, DateType dataType)

DateValue

//按照類型 獲取時間
SqlFunc.DateValue(DateTime date, DateType dataType);

聚合函數

AggregateSum

//求和
SqlFunc.AggregateSum<TResult>(TResult thisValue)
//求和,過濾null
SqlFunc.AggregateSumNoNull<TResult>(TResult thisValue)

AggregateAvg

//平均值
SqlFunc.AggregateAvg<TResult>(TResult thisValue)

AggregateMin

//最小
SqlFunc.AggregateMin(TResult thisValue)

AggregateMax

//最大
SqlFunc.AggregateMax<TResult>(TResult thisValue)

AggregateCount

//統計總數
SqlFunc.AggregateCount<TResult>(TResult thisValue)
//去重之後 統計總數
SqlFunc.AggregateDistinctCount<TResult>(TResult thisValue)

數字函數

Round

//四捨五入 精度
SqlFunc.Round<T>(T value, int precision)

Abs

//絕對值
SqlFunc.Abs<T>(T value)

字元串函數

Substring

//截取字元串
SqlFunc.Substring(object value, int index, int length)

Replace

//替換字元串
SqlFunc.Replace(object value, string oldChar, string newChar)

ToLower

//轉小寫
SqlFunc.ToLower(object thisValue)

ToUpper

//轉大寫
SqlFunc.ToUpper(object thisValue)

Trim

//去除前後空格
SqlFunc.Trim(object thisValue)

Stuff

//指定位置替換
SqlFunc.Stuff(string sourceString, int start, int length, string AddString)

Contains

//類似於模糊查詢 like '%parameterValue%'
SqlFunc.Contains(string thisValue, string parameterValue)
//查詢字元串開頭 類似於模糊查詢 like 'parameterValue%'
SqlFunc.StartsWith(object thisValue, string parameterValue)
//查詢字元串結尾 類似於模糊查詢 like '%parameterValue'
SqlFunc.EndsWith(object thisValue, string parameterValue)

Length

//字元串長度
SqlFunc.Length(object value)

類型轉換

SqlFunc.ToInt32(object value)
SqlFunc.ToInt64(object value)
SqlFunc.ToDate(object value)
SqlFunc.ToString(object value)
SqlFunc.ToVarchar(object value)
SqlFunc.ToDecimal(object value) 
SqlFunc.ToGuid(object value) 
SqlFunc.ToDouble(object value) 
SqlFunc.ToBool(object value)

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、選擇GO的原因 作為一個後端開發,日常工作中接觸最多的兩門語言就是PHP和GO了。無可否認,PHP確實是最好的語言(手動狗頭哈哈),寫起來真的很舒爽,沒有任何心智負擔,字元串和整型壓根就不用區分,開發速度真的是比GO快很多。現在工作中也還是有一些老項目在使用PHP,但21年之後的新項目基本上就都 ...
  • 0 前言 除非你一直生活在岩石下麵,否則你可能已經知道微服務是當今流行的架構趨勢。與這一趨勢一同成長,Segment早期就採用了這種最佳實踐,這在某些情況下對我們很有幫助,但正如你將很快瞭解到的,在其他情況下則並非如此。 簡單來說,微服務是一種面向服務的軟體架構,其中伺服器端應用程式通過組合許多單一 ...
  • 官方文檔: pathlib — Object-oriented filesystem paths 一、基礎使用 遍歷子目錄 使用通配符遍歷文件 拼接路徑 獲取標準化後的絕對路徑 查詢路徑常規屬性 打開文件 from pathlib import Path print('1.1 查詢指定目錄的子目錄' ...
  • title: 深入Django項目實戰與最佳實踐 date: 2024/5/19 21:41:38 updated: 2024/5/19 21:41:38 categories: 後端開發 tags: Django 基礎 項目實戰 最佳實踐 資料庫配置 靜態文件 部署 高級特性 第一章:Django ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • .NET 中的表達式樹(Expression Trees) 表達式樹是什麼? 表達式樹(Expression Trees)是.NET框架中的一個強大功能,它將代碼表示為一個由表達式節點組成的樹形結構。每個節點代表代碼中的一個操作,例如方法調用、算術運算、邏輯運算等。表達式樹允許開發者在運行時分析、修 ...
  • Polly 是一個在 C# 中用於處理瞬態故障和提供彈性的庫。它允許你以聲明式的方式定義策略,如重試、熔斷、超時、回退等,這些策略可以幫助你的代碼在出現故障時保持穩健和可靠。 以下是如何在 C# 中使用 Polly 實現重試策略的基本步驟: 首先,你需要在你的項目中安裝 Polly 包。這可以通過 ...
  • EasyBlog 說明 本博客系統通過構建工具生成純靜態的博客網站,藉助GitHub Pages,你可以在5分鐘內免費擁有個人博客。 它具有以下特點 生成純靜態網站,訪問速度極快 使用markdown格式來編寫博客內容 基於git代碼管理來存儲你的博客 使用CI工具來自動化部署你的博客站點 效果展示 ...
一周排行
    -Advertisement-
    Play Games
  • 最近做項目過程中,使用到了海康相機,官方只提供了C/C++的SDK,沒有搜尋到一個合適的封裝了的C#庫,故自己動手,簡單的封裝了一下,方便大家也方便自己使用和二次開發 ...
  • 前言 MediatR 是 .NET 下的一個實現消息傳遞的庫,輕量級、簡潔高效,用於實現進程內的消息傳遞機制。它基於中介者設計模式,支持請求/響應、命令、查詢、通知和事件等多種消息傳遞模式。通過泛型支持,MediatR 可以智能地調度不同類型的消息,非常適合用於領域事件處理。 在本文中,將通過一個簡 ...
  • 前言 今天給大家推薦一個超實用的開源項目《.NET 7 + Vue 許可權管理系統 小白快速上手》,DncZeus的願景就是做一個.NET 領域小白也能上手的簡易、通用的後臺許可權管理模板系統基礎框架。 不管你是技術小白還是技術大佬或者是不懂前端Vue 的新手,這個項目可以快速上手讓我們從0到1,搭建自 ...
  • 第1章:WPF概述 本章目標 瞭解Windows圖形演化 瞭解WPF高級API 瞭解解析度無關性概念 瞭解WPF體繫結構 瞭解WPF 4.5 WPF概述 ​ 歡迎使用 Windows Presentation Foundation (WPF) 桌面指南,這是一個與解析度無關的 UI 框架,使用基於矢 ...
  • 在日常開發中,並不是所有的功能都是用戶可見的,還在一些背後默默支持的程式,這些程式通常以服務的形式出現,統稱為輔助角色服務。今天以一個簡單的小例子,簡述基於.NET開發輔助角色服務的相關內容,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 第3章:佈局 本章目標 理解佈局的原則 理解佈局的過程 理解佈局的容器 掌握各類佈局容器的運用 理解 WPF 中的佈局 WPF 佈局原則 ​ WPF 視窗只能包含單個元素。為在WPF 視窗中放置多個元素並創建更貼近實用的用戶男面,需要在視窗上放置一個容器,然後在這個容器中添加其他元素。造成這一限制的 ...
  • 前言 在平時項目開發中,定時任務調度是一項重要的功能,廣泛應用於後臺作業、計劃任務和自動化腳本等模塊。 FreeScheduler 是一款輕量級且功能強大的定時任務調度庫,它支持臨時的延時任務和重覆迴圈任務(可持久化),能夠按秒、每天/每周/每月固定時間或自定義間隔執行(CRON 表達式)。 此外 ...
  • 目錄Blazor 組件基礎路由導航參數組件參數路由參數生命周期事件狀態更改組件事件 Blazor 組件 基礎 新建一個項目命名為 MyComponents ,項目模板的交互類型選 Auto ,其它保持預設選項: 客戶端組件 (Auto/WebAssembly): 最終解決方案裡面會有兩個項目:伺服器 ...
  • 先看一下效果吧: isChecked = false 的時候的效果 isChecked = true 的時候的效果 然後我們來實現一下這個效果吧 第一步:創建一個空的wpf項目; 第二步:在項目裡面添加一個checkbox <Grid> <CheckBox HorizontalAlignment=" ...
  • 在編寫上位機軟體時,需要經常處理命令拼接與其他設備進行通信,通常對不同的命令封裝成不同的方法,擴展稍許麻煩。 本次擬以特性方式實現,以兼顧維護性與擴展性。 思想: 一種命令對應一個類,其類中的各個屬性對應各個命令段,通過特性的方式,實現其在這包數據命令中的位置、大端或小端及其轉換為對應的目標類型; ...