From 19bb9a1c8e5a3d3e2a6244ab438095e5203560ed Mon Sep 17 00:00:00 2001 From: RDeck Date: Fri, 26 Sep 2025 07:17:27 -0400 Subject: [PATCH] ! --- .vs/SqlCustomFunctions/v17/.suo | Bin 46080 -> 50176 bytes .../v17/DocumentLayout.backup.json | 33 ++++++++++++++++-- .../v17/DocumentLayout.json | 33 ++++++++++++++++-- ClsConversions.cs | 8 +++-- SqlCustomFunctions.sqlproj | 2 +- bin/Release/SqlCustomFunctions.dacpac | Bin 10312 -> 10446 bytes bin/Release/SqlCustomFunctions.dll | Bin 6656 -> 7168 bytes bin/Release/SqlCustomFunctions.pdb | Bin 19968 -> 19968 bytes obj/Release/SQLCUSTOMFUNCTIONS.generated.sql | 8 ++--- obj/Release/SqlCustomFunctions.dll | Bin 6656 -> 7168 bytes obj/Release/SqlCustomFunctions.pdb | Bin 19968 -> 19968 bytes ...stomFunctions.sqlproj.FileListAbsolute.txt | 4 --- 12 files changed, 71 insertions(+), 17 deletions(-) diff --git a/.vs/SqlCustomFunctions/v17/.suo b/.vs/SqlCustomFunctions/v17/.suo index c38e51befe9ffc1c2c11c9c1bd9020d207c49621..0f21c23fd7066dfad722083073498e788d506f78 100644 GIT binary patch literal 50176 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 D%@!72 diff --git a/.vs/SqlCustomFunctions/v17/DocumentLayout.backup.json b/.vs/SqlCustomFunctions/v17/DocumentLayout.backup.json index 9f3b9c4..4da488a 100644 --- a/.vs/SqlCustomFunctions/v17/DocumentLayout.backup.json +++ b/.vs/SqlCustomFunctions/v17/DocumentLayout.backup.json @@ -6,9 +6,21 @@ "AbsoluteMoniker": "D:0:0:{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}|SqlCustomFunctions.sqlproj|C:\\Repos\\SqlCustomFunctions\\ClsConversions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}|SqlCustomFunctions.sqlproj|solutionrelative:ClsConversions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Repos\\SqlCustomFunctions\\bin\\Release\\SqlCustomFunctions_15.publish.sql||{CC5D8DF0-88F4-4BB2-9DBB-B48CEE65C30A}", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:bin\\Release\\SqlCustomFunctions_15.publish.sql||{CC5D8DF0-88F4-4BB2-9DBB-B48CEE65C30A}" + }, { "AbsoluteMoniker": "D:0:0:{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}|SqlCustomFunctions.sqlproj|C:\\Repos\\SqlCustomFunctions\\IPFunctions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}|SqlCustomFunctions.sqlproj|solutionrelative:IPFunctions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Repos\\SqlCustomFunctions\\bin\\Release\\SqlCustomFunctions_15.publish.sql||{CC5D8DF0-88F4-4BB2-9DBB-B48CEE65C30A}|CodeFrame", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:bin\\Release\\SqlCustomFunctions_15.publish.sql||{CC5D8DF0-88F4-4BB2-9DBB-B48CEE65C30A}|CodeFrame" + }, + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Repos\\SqlCustomFunctions\\bin\\Release\\SqlCustomFunctions_15.publish.sql||{CC5D8DF0-88F4-4BB2-9DBB-B48CEE65C30A}|ResultFrame", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:bin\\Release\\SqlCustomFunctions_15.publish.sql||{CC5D8DF0-88F4-4BB2-9DBB-B48CEE65C30A}|ResultFrame" } ], "DocumentGroupContainers": [ @@ -18,7 +30,7 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": 11, + "SelectedChildIndex": 13, "Children": [ { "$type": "Bookmark", @@ -64,6 +76,21 @@ "$type": "Bookmark", "Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}" }, + { + "$type": "Bookmark", + "Name": "ST:1:0:{e8b06f52-6d01-11d2-aa7d-00c04f990343}" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "SqlCustomFunctions_15.publish.sql ", + "DocumentMoniker": "C:\\Repos\\SqlCustomFunctions\\bin\\Release\\SqlCustomFunctions_15.publish.sql", + "RelativeDocumentMoniker": "bin\\Release\\SqlCustomFunctions_15.publish.sql", + "ToolTip": "SqlCustomFunctions_15.publish.sql ", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000826|", + "WhenOpened": "2025-09-26T11:13:36.185Z", + "EditorCaption": "" + }, { "$type": "Document", "DocumentIndex": 0, @@ -72,14 +99,14 @@ "RelativeDocumentMoniker": "ClsConversions.cs", "ToolTip": "C:\\Repos\\SqlCustomFunctions\\ClsConversions.cs", "RelativeToolTip": "ClsConversions.cs", - "ViewState": "AgIAADgAAAAAAAAAAAAAAE8AAAAQAAAAAAAAAA==", + "ViewState": "AgIAADgAAAAAAAAAAAAAAEwAAAAFAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-09-23T11:15:50.492Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 1, + "DocumentIndex": 2, "Title": "IPFunctions.cs", "DocumentMoniker": "C:\\Repos\\SqlCustomFunctions\\IPFunctions.cs", "RelativeDocumentMoniker": "IPFunctions.cs", diff --git a/.vs/SqlCustomFunctions/v17/DocumentLayout.json b/.vs/SqlCustomFunctions/v17/DocumentLayout.json index 3b06c71..16acc48 100644 --- a/.vs/SqlCustomFunctions/v17/DocumentLayout.json +++ b/.vs/SqlCustomFunctions/v17/DocumentLayout.json @@ -6,9 +6,21 @@ "AbsoluteMoniker": "D:0:0:{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}|SqlCustomFunctions.sqlproj|C:\\Repos\\SqlCustomFunctions\\ClsConversions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}|SqlCustomFunctions.sqlproj|solutionrelative:ClsConversions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Repos\\SqlCustomFunctions\\bin\\Release\\SqlCustomFunctions_15.publish.sql||{CC5D8DF0-88F4-4BB2-9DBB-B48CEE65C30A}", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:bin\\Release\\SqlCustomFunctions_15.publish.sql||{CC5D8DF0-88F4-4BB2-9DBB-B48CEE65C30A}" + }, { "AbsoluteMoniker": "D:0:0:{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}|SqlCustomFunctions.sqlproj|C:\\Repos\\SqlCustomFunctions\\IPFunctions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}|SqlCustomFunctions.sqlproj|solutionrelative:IPFunctions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Repos\\SqlCustomFunctions\\bin\\Release\\SqlCustomFunctions_15.publish.sql||{CC5D8DF0-88F4-4BB2-9DBB-B48CEE65C30A}|CodeFrame", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:bin\\Release\\SqlCustomFunctions_15.publish.sql||{CC5D8DF0-88F4-4BB2-9DBB-B48CEE65C30A}|CodeFrame" + }, + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Repos\\SqlCustomFunctions\\bin\\Release\\SqlCustomFunctions_15.publish.sql||{CC5D8DF0-88F4-4BB2-9DBB-B48CEE65C30A}|ResultFrame", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:bin\\Release\\SqlCustomFunctions_15.publish.sql||{CC5D8DF0-88F4-4BB2-9DBB-B48CEE65C30A}|ResultFrame" } ], "DocumentGroupContainers": [ @@ -18,7 +30,7 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": 11, + "SelectedChildIndex": 13, "Children": [ { "$type": "Bookmark", @@ -64,6 +76,21 @@ "$type": "Bookmark", "Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}" }, + { + "$type": "Bookmark", + "Name": "ST:1:0:{e8b06f52-6d01-11d2-aa7d-00c04f990343}" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "SqlCustomFunctions_15.publish.sql ", + "DocumentMoniker": "C:\\Repos\\SqlCustomFunctions\\bin\\Release\\SqlCustomFunctions_15.publish.sql", + "RelativeDocumentMoniker": "bin\\Release\\SqlCustomFunctions_15.publish.sql", + "ToolTip": "SqlCustomFunctions_15.publish.sql ", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000826|", + "WhenOpened": "2025-09-26T11:13:36.185Z", + "EditorCaption": "" + }, { "$type": "Document", "DocumentIndex": 0, @@ -72,14 +99,14 @@ "RelativeDocumentMoniker": "ClsConversions.cs", "ToolTip": "C:\\Repos\\SqlCustomFunctions\\ClsConversions.cs", "RelativeToolTip": "ClsConversions.cs", - "ViewState": "AgIAADgAAAAAAAAAAAAAAE8AAAAmAAAAAAAAAA==", + "ViewState": "AgIAADgAAAAAAAAAAAAAAE8AAAAnAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-09-23T11:15:50.492Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 1, + "DocumentIndex": 2, "Title": "IPFunctions.cs", "DocumentMoniker": "C:\\Repos\\SqlCustomFunctions\\IPFunctions.cs", "RelativeDocumentMoniker": "IPFunctions.cs", diff --git a/ClsConversions.cs b/ClsConversions.cs index 304fa23..f18dafb 100644 --- a/ClsConversions.cs +++ b/ClsConversions.cs @@ -73,12 +73,16 @@ namespace SqlCustomFunctions } [Microsoft.SqlServer.Server.SqlFunction()] - public static SqlString dtReportDateRange(SqlDateTime date1, SqlDateTime date2) + public static SqlString dtRangeHumanized(SqlDateTime date1, SqlDateTime date2) { SqlString rv = string.Empty; - if (date1.CompareTo(date2) == 0) + if (date1.IsNull || date2.IsNull) + rv = "Invalid Date Range Specified (one or both are NULL)"; + else if (date1.Value.CompareTo(date2.Value) == 0) rv = string.Format("{0:ddd MMM d, yyyy}", date1.Value); + //else if (date1.Value.Year == date2.Value.Year && date2.Value.Year == DateTime.Today.Year) + // rv = string.Format("{0:ddd MMM d} - {1:ddd MMM d}", date1.Value, date2.Value); else if (date1.Value.Year == date2.Value.Year) rv = string.Format("{0:ddd MMM d} - {1:ddd MMM d, yyyy}", date1.Value, date2.Value); else diff --git a/SqlCustomFunctions.sqlproj b/SqlCustomFunctions.sqlproj index cd8bbe4..9462f27 100644 --- a/SqlCustomFunctions.sqlproj +++ b/SqlCustomFunctions.sqlproj @@ -23,7 +23,7 @@ True True - SIMPLE + FULL SAFE diff --git a/bin/Release/SqlCustomFunctions.dacpac b/bin/Release/SqlCustomFunctions.dacpac index 271b1da121e12f37ff08017b9b17d2325bef0429..a0633cad87fb0b282cdf17ca9a6f2f1233594972 100644 GIT binary patch delta 9852 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 delta 9740 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 delta 1327 zcmZvceMps89LK-EbG(mwHSc|V33aw^-kNv59nm^9uQyIHl?2$Q(*SSC zM|geEp%QjVp6n?xC#+r4WNun{X{Bq1qEOF-BT1?G!y4Z8Km)M;_D# z9M>qeA&VQEi${BrCkm~bV!8FqY0SD&`zV4;CZHximV6aK@nA6?&7n{%90jbX__E$(3hxv0003Azw(VyoJU2p-~@0aVgj zP8z+NoMHMBR`qk(No7AxEBb)TW)?fn518#oJ+p)Kv~z;Pe6h~rCJx~onW-a~#<+~} zbesiU;UX?OeZ0@wANYKZdA>p&to;}Rcic5z!c!`T6JM2SvQOVeH`8-Cg&H+YMyY>; zDtzVi_4nkMx=(J<56K?=GyO&{le^WbJAy|7JjFMp6e*}DGw=fW1WrkXtH11WFyuCq zE@xdXxP&;x0hbjH&GwXFT@??4|Esl6s+@8Ak86GZqfPKQ|66M-b1mgUpt1Ydp4U2B zQQ6hi*4c{I-iEfW<2}9AExm0GEuHOc(U($>Nc8Ty-^I-MN)rlRN13_e51M}er2ogG zqs>G6vn$7k#~1DuMy{J;d)4v;B+1@swx^#hesq~Rv*+;z3h}}U@iJ>@tZw}KuR9;z zC_cY;bSi(}cb|2aL>JSOB<)!IrgD~hCT#x6$WB;Q?}jK(sS5z>MVqip>FH5b$GQXy69Y0YF+7NCyIG4IusQ{l5lXARPqcy8`K8Ae{&m zPX^LqKz=ij4hPb!q2g{}6-Y+|X?6x>0S0yk4F*mI7oZRW0}q46WNj@~pbG=F zq#c3AH2@vW05q;a6i9=t6bI6&K)wu+P6yJeKspmh>jUX5AZ-Ptvw^f5kj~w_R!g68 zla2ugBj;pIllI9wOiU(wm`Y3xVA;%JI-7A~0MFzEQ_0OI%mSJCP=jr=y5(9{#+J#s zc50h{+c7dRUY}g(AkKOV7|tF*mhfa9M-e7qG&wmQVv-Ooy_NwA{kD(m7qPTxdG!=; X-(IqI`LoS3E-FlnE}I?Q_Ok;3XgGyu delta 497 zcmZpe!`Lu~af64LLT9kod)>Fz{eP@PcgCN7XnR3^@9(~p_sJ%Q_(c~zzHoJ;;|#`4 z5*$oipO_iI;1ly^MuB&Xn`AhcILh?C6im~(!#LSd+hDSToB~VFQ_tYdDRLj!Etf-7 zgGnw11~z7(c192{r6ee|Ait=@C9xzmC^0WRm4QKwfmzUng@IuM5HFwHt5(gpYBHy~ zGUKYvy6Tgecw2zFAley$(vF(K-hK=W4ctJ{03a<2qyvGpA&`Fe{$GPJkPZU!gMl;< zH&jE#Yk_nqkiQg2hXZML24x0z2KCAQTB@9@z>Z^N@Bo?a7z>mIx`ZJfNP|oVnJNyX z6M=jgAe{`PRe?0n<1nI%yKt+DsbmEeR$R-$(@uT5t0mgOE>_mRF;Y?sL zjAASNrp1~K>JOyl7+poIXu8?NHrHBIYi;Ns+M2ngv9;kp^t|6Y-E4ht@AG~>&+~lV z@B8C>@4)tf(zjpFN$vf)9kJ&+a(oF=45W~7M9GT4*vHSv9aALF{w1X>Gg}py2PMx{ z<)y>NmSVmkTP4l>Lh|Ghb6IjSas$!gDs~EXG;IP}5&$s=y*ncZ)ROVkFO=eeWjm+zDVdo8?&IpxMJrTI6FOyxq73={igRV5*;rj!@W z#wo*v39PcJ7(W>fw5VA!>&Uq9mBoL9OgjHDI;i%kOgg{kXb!w18e1i^pWR0^InXJy zH03Bg(2T`+ESzS6o?xp62!Dg(LAg<5q&~<>VwoKWeA;ye+mXSAEyl9_@QFfOc2rBF zX5fOAh0efF(T1v=sQ41{#Ew5=*<}=p0}cMDc2#yr97bc=*UaK^DVE)l-Qt9g2dQ8G z7AhqXHhwC=7;egw=3~x{{iED!!457*aGT0~e3p#DHL3=_<+BKM znryZP3!7Q2ozqm0<7uh`^t{Ly9K;GvVirvpC2larFpu};U7n7f&?G1E0poK#(`hWT zUBr+4ggRLJIr^_ya~wyp%HWHqWS%%=EZ`{RMf9Og%@aQ*{{t#;mGOe{D{)dS6Z4Fl z#N)=F^q)2E5QmZXrY$ z`z$QiXs)^Zbu~N={<|JL9vQachq+__!%gu}|68lSWV0*b^v1THy4G+gSk?P-Yq;ZB zunqM`5AW;kXv3b)&S1DLl9zZ$;zPln=IZX+-pKH}Ro*u4g7#1~!gz%ne3)C>1|KRJ z_aMlqj!_sPE3QW;`xo@Kvjr_@K8{e=&Lij|9%A2vc1EqtHD8NH)bO{Nb3E_9?74QU zq{8;uO2znlGdET$#}myV&zj5dLD_v0pIl~+B%ds}f8*-4W(jW>-l|KyOY7<@>xb{o zd}tfmvVXLDZm#G2)bEkq-gxn*$F5VoIRPE}#MN67>K8 delta 1327 zcmZvceMps89LK-EbG(mwHSc|V33aw^-kNv59nm^9uQyIHl?2$Q(*SSC zM|geEp%QjVp6n?xC#+r4WNun{X{Bq1qEOF-BT1?G!y4Z8Km)M;_D# z9M>qeA&VQEi${BrCkm~bV!8FqY0SD&`zV4;CZHximV6aK@nA6?&7n{%90jbX__E$(3hxv0003Azw(VyoJU2p-~@0aVgj zP8z+NoMHMBR`qk(No7AxEBb)TW)?fn518#oJ+p)Kv~z;Pe6h~rCJx~onW-a~#<+~} zbesiU;UX?OeZ0@wANYKZdA>p&to;}Rcic5z!c!`T6JM2SvQOVeH`8-Cg&H+YMyY>; zDtzVi_4nkMx=(J<56K?=GyO&{le^WbJAy|7JjFMp6e*}DGw=fW1WrkXtH11WFyuCq zE@xdXxP&;x0hbjH&GwXFT@??4|Esl6s+@8Ak86GZqfPKQ|66M-b1mgUpt1Ydp4U2B zQQ6hi*4c{I-iEfW<2}9AExm0GEuHOc(U($>Nc8Ty-^I-MN)rlRN13_e51M}er2ogG zqs>G6vn$7k#~1DuMy{J;d)4v;B+1@swx^#hesq~Rv*+;z3h}}U@iJ>@tZw}KuR9;z zC_cY;bSi(}cb|2aL>JSOB<)!IrgD~hCT#x6$WB;Q?}jK(sS5z>MVqip>FH5b$GQXy69Y0YF+7NCyIG4IusQ{l5lXARPqcy8`K8Ae{&m zPX^LqKz=ij4hPb!q2g{}6-Y+|X?6x>0S0yk4F*mI7oZRW0}q46WNj@~pbG=F zq#c3AH2@vW05q;a6i9=t6bI6&K)wu+P6yJeKspmh>jUX5AZ-Ptvw^f5kj~w_R!g68 zla2ugBj;pIllI9wOiU(wm`Y3xVA;%JI-7A~0MFzEQ_0OI%mSJCP=jr=y5(9{#+J#s zc50h{+c7dRUY}g(AkKOV7|tF*mhfa9M-e7qG&wmQVv-Ooy_NwA{kD(m7qPTxdG!=; X-(IqI`LoS3E-FlnE}I?Q_Ok;3XgGyu delta 497 zcmZpe!`Lu~af64LLT9kod)>Fz{eP@PcgCN7XnR3^@9(~p_sJ%Q_(c~zzHoJ;;|#`4 z5*$oipO_iI;1ly^MuB&Xn`AhcILh?C6im~(!#LSd+hDSToB~VFQ_tYdDRLj!Etf-7 zgGnw11~z7(c192{r6ee|Ait=@C9xzmC^0WRm4QKwfmzUng@IuM5HFwHt5(gpYBHy~ zGUKYvy6Tgecw2zFAley$(vF(K-hK=W4ctJ{03a<2qyvGpA&`Fe{$GPJkPZU!gMl;< zH&jE#Yk_nqkiQg2hXZML24x0z2KCAQTB@9@z>Z^N@Bo?a7z>mIx`ZJfNP|oVnJNyX z6M=jgAe{`PRe?0n