Web design and hosting, database, cloud and social media solutions that deliver business results
  • 商务解决方案
  • 数据库咨询服务
    • 报告
      • Claytabase Server Disk IOPs Calculator
      • SQL代码备份
      • SQL打印机
    • 技术文章
      • SQL-Server
      • SQL Server 2008的维护计划
      • 使用SQL Server函数
      • 使用SQL Server日期
      • 使用SQL Server透视-取消透视
  • 网站设计
    • 怀特岛
    • 技术文章
      • ASP-NET
      • CSS
    • 网站安全
  • 产品展示
  • 社交媒体
  • 关于我们
    • 投资组合
    • 球队
      • 切斯特Copperpot
  • 学院
عربى (AR)čeština (CS)Deutsch (DE)English (EN-US)English (EN-GB)Español (ES)فارسی (FA)Français (FR)हिंदी (HI)italiano (IT)日本語 (JA)polski (PL)Português (PT)русский (RU)Türk (TR)中国的 (ZH)

列的最小值和最大值

创建一个函数,以通过串联字符串,将它们拆分为行然后返回正确的值来返回列的最小值和最大值

信息

使用SQL Server函数

这些函数将返回串联文本字符串中的最小值和最大值。

要使用它,您将需要创建需要解析的值,并且还具有TextToRows函数,因为我们会将字符串转换为行并将相关值解析回去。

最初仅适用于Integers,我们也为字符串添加了最小值和最大值。

使用字符串函数时,如果您要区分大小写,则可能需要更改排序规则并将其更改为带顺序的顶部。

更多:SQL Server函数将文本拆分为数据行

SQL Code - MAX

CREATE FUNCTION [dbo].[GetStrMAX_INT](@Delim NVARCHAR(1),@Str NVARCHAR(200)) RETURNS INT AS BEGINDECLARE @RS INTSET @RS=(SELECT MAX(CONVERT(INT,REPLACE(WordStr,@Delim,'')))FROM Utilities.dbo.TextToRows(@Delim,@Str)WHERE ISNUMERIC(WordStr)=1)RETURN @RSENDGOSELECT dbo.GetStrMAX_INT(',','1,2,3,4,5,a')

SQL Code - MIN

CREATE FUNCTION [dbo].[GetStrMIN_INT](@Delim NVARCHAR(1),@Str NVARCHAR(200)) RETURNS INT AS BEGINDECLARE @RS INTSET @RS=(SELECT MIN(CONVERT(INT,REPLACE(WordStr,@Delim,'')))FROM Utilities.dbo.TextToRows(@Delim,@Str)WHERE ISNUMERIC(WordStr)=1)RETURN @RSENDGOSELECT dbo.GetStrMIN_INT(',','1,2,3,4,5,a')

We've got strings covered too...

ALTER FUNCTION [dbo].[GetStrMAX](@Delim NVARCHAR(1),@Str NVARCHAR(200)) RETURNS NVARCHAR(100) AS BEGINDECLARE @RS NVARCHAR(100)SET @RS=(SELECT MAX(CONVERT(NVARCHAR(100),REPLACE(WordStr,@Delim,'')))FROM Utilities.dbo.TextToRows(@Delim,@Str))RETURN @RSENDGOALTER FUNCTION [dbo].[GetStrMIN](@Delim NVARCHAR(1),@Str NVARCHAR(200)) RETURNS NVARCHAR(100) AS BEGINDECLARE @RS NVARCHAR(100)SET @RS=(SELECT MIN(CONVERT(NVARCHAR(100),REPLACE(WordStr,@Delim,'')))FROM Utilities.dbo.TextToRows(@Delim,@Str))RETURN @RSENDGO

Testing

SELECT dbo.GetStrMAX_INT(',','1,2,3,x,5,a') --5SELECT dbo.GetStrMIN_INT(',','1,2,3,x,5,a') --1SELECT dbo.GetStrMAX(',','1,2,3,x,5,a') --xSELECT dbo.GetStrMIN(',','1,2,3,x,5,a') --1

Please note, this commenting system is still in final testing.

Author

Copyright Claytabase Ltd 2020

Registered in England and Wales 08985867

RSSLoginLink Cookie政策网站地图

Social Media

facebook.com/Claytabaseinstagram.com/claytabase/twitter.com/Claytabaselinkedin.com/company/claytabase-ltd

Get in Touch

+442392064871info@claytabase.comClaytabase Ltd, Unit 3d, Rink Road Industrial Estate, PO33 2LT, United Kingdom
此网站上的设置设置为允许所有Cookie。 这些可以在我们的Cookie政策和设置页面上更改。继续使用本网站即表示您同意使用Cookie。
Ousia Logo
Logout
Ousia CMS Loader