0
|
1 using System;
|
|
2 using System.Collections.Generic;
|
|
3 using System.Data.Linq;
|
|
4 using System.Linq.Expressions;
|
|
5 using System.Reflection;
|
|
6 using System.Text;
|
|
7
|
|
8 #region ReSharper disables
|
|
9 // ReSharper disable RedundantTypeArgumentsOfMethod
|
|
10 // ReSharper disable RedundantCast
|
|
11 // ReSharper disable PossibleInvalidOperationException
|
|
12 // ReSharper disable CSharpWarnings::CS0693
|
|
13 // ReSharper disable RedundantToStringCall
|
|
14 #endregion
|
|
15
|
|
16 namespace BLToolkit.Data.Linq
|
|
17 {
|
|
18 using B = Boolean;
|
|
19 using C = Char;
|
|
20 using S = String;
|
|
21 using I = Int32;
|
|
22 using O = Object;
|
|
23 using D = DateTime;
|
|
24 using T = TimeSpan;
|
|
25 using F = Double;
|
|
26 using M = Decimal;
|
|
27
|
|
28 public static class Expressions
|
|
29 {
|
|
30 #region MapMember
|
|
31
|
|
32 public static void MapMember(MemberInfo memberInfo, LambdaExpression expression)
|
|
33 {
|
|
34 MapMember("", memberInfo, expression);
|
|
35 }
|
|
36
|
|
37 public static void MapMember(string providerName, MemberInfo memberInfo, LambdaExpression expression)
|
|
38 {
|
|
39 Dictionary<MemberInfo,LambdaExpression> dic;
|
|
40
|
|
41 if (!_members.TryGetValue(providerName, out dic))
|
|
42 _members.Add(providerName, dic = new Dictionary<MemberInfo,LambdaExpression>());
|
|
43
|
|
44 dic[memberInfo] = expression;
|
|
45 }
|
|
46
|
|
47 public static void MapMember(Expression<Func<object>> memberInfo, LambdaExpression expression)
|
|
48 {
|
|
49 MapMember("", M(memberInfo), expression);
|
|
50 }
|
|
51
|
|
52 public static void MapMember(string providerName, Expression<Func<object>> memberInfo, LambdaExpression expression)
|
|
53 {
|
|
54 MapMember(providerName, M(memberInfo), expression);
|
|
55 }
|
|
56
|
|
57 public static void MapMember<T>(Expression<Func<T,object>> memberInfo, LambdaExpression expression)
|
|
58 {
|
|
59 MapMember("", M(memberInfo), expression);
|
|
60 }
|
|
61
|
|
62 public static void MapMember<T>(string providerName, Expression<Func<T,object>> memberInfo, LambdaExpression expression)
|
|
63 {
|
|
64 MapMember(providerName, M(memberInfo), expression);
|
|
65 }
|
|
66
|
|
67 public static void MapMember<TR> (string providerName, Expression<Func<TR>> memberInfo, Expression<Func<TR>> expression) { MapMember(providerName, ReflectionHelper.MemeberInfo(memberInfo), expression); }
|
|
68 public static void MapMember<TR> ( Expression<Func<TR>> memberInfo, Expression<Func<TR>> expression) { MapMember("", ReflectionHelper.MemeberInfo(memberInfo), expression); }
|
|
69 public static void MapMember<T1,TR> (string providerName, Expression<Func<T1,TR>> memberInfo, Expression<Func<T1,TR>> expression) { MapMember(providerName, ReflectionHelper.MemeberInfo(memberInfo), expression); }
|
|
70 public static void MapMember<T1,TR> ( Expression<Func<T1,TR>> memberInfo, Expression<Func<T1,TR>> expression) { MapMember("", ReflectionHelper.MemeberInfo(memberInfo), expression); }
|
|
71 public static void MapMember<T1,T2,TR> (string providerName, Expression<Func<T1,T2,TR>> memberInfo, Expression<Func<T1,T2,TR>> expression) { MapMember(providerName, ReflectionHelper.MemeberInfo(memberInfo), expression); }
|
|
72 public static void MapMember<T1,T2,TR> ( Expression<Func<T1,T2,TR>> memberInfo, Expression<Func<T1,T2,TR>> expression) { MapMember("", ReflectionHelper.MemeberInfo(memberInfo), expression); }
|
|
73 public static void MapMember<T1,T2,T3,TR> (string providerName, Expression<Func<T1,T2,T3,TR>> memberInfo, Expression<Func<T1,T2,T3,TR>> expression) { MapMember(providerName, ReflectionHelper.MemeberInfo(memberInfo), expression); }
|
|
74 public static void MapMember<T1,T2,T3,TR> ( Expression<Func<T1,T2,T3,TR>> memberInfo, Expression<Func<T1,T2,T3,TR>> expression) { MapMember("", ReflectionHelper.MemeberInfo(memberInfo), expression); }
|
|
75 public static void MapMember<T1,T2,T3,T4,TR> (string providerName, Expression<Func<T1,T2,T3,T4,TR>> memberInfo, Expression<Func<T1,T2,T3,T4,TR>> expression) { MapMember(providerName, ReflectionHelper.MemeberInfo(memberInfo), expression); }
|
|
76 public static void MapMember<T1,T2,T3,T4,TR> ( Expression<Func<T1,T2,T3,T4,TR>> memberInfo, Expression<Func<T1,T2,T3,T4,TR>> expression) { MapMember("", ReflectionHelper.MemeberInfo(memberInfo), expression); }
|
|
77 public static void MapMember<T1,T2,T3,T4,T5,TR>(string providerName, Expression<Func<T1,T2,T3,T4,T5,TR>> memberInfo, Expression<Func<T1,T2,T3,T4,T5,TR>> expression) { MapMember(providerName, ReflectionHelper.MemeberInfo(memberInfo), expression); }
|
|
78 public static void MapMember<T1,T2,T3,T4,T5,TR>( Expression<Func<T1,T2,T3,T4,T5,TR>> memberInfo, Expression<Func<T1,T2,T3,T4,T5,TR>> expression) { MapMember("", ReflectionHelper.MemeberInfo(memberInfo), expression); }
|
|
79
|
|
80 #endregion
|
|
81
|
|
82 #region Public Members
|
|
83
|
|
84 public static LambdaExpression ConvertMember(string providerName, MemberInfo mi)
|
|
85 {
|
|
86 Dictionary<MemberInfo,LambdaExpression> dic;
|
|
87 LambdaExpression expr;
|
|
88
|
|
89 if (Members.TryGetValue(providerName, out dic))
|
|
90 if (dic.TryGetValue(mi, out expr))
|
|
91 return expr;
|
|
92
|
|
93 if (!Members[""].TryGetValue(mi, out expr))
|
|
94 {
|
|
95 if (mi is MethodInfo && mi.Name == "CompareString" && mi.DeclaringType.FullName == "Microsoft.VisualBasic.CompilerServices.Operators")
|
|
96 {
|
|
97 lock (_members)
|
|
98 {
|
|
99 if (!Members[""].TryGetValue(mi, out expr))
|
|
100 {
|
|
101 expr = L<S,S,B,I>((s1,s2,b) => b ? string.CompareOrdinal(s1.ToUpper(), s2.ToUpper()) : string.CompareOrdinal(s1, s2));
|
|
102
|
|
103 _members[""].Add(mi, expr);
|
|
104 }
|
|
105 }
|
|
106 }
|
|
107 }
|
|
108
|
|
109 return expr;
|
|
110 }
|
|
111
|
|
112 #endregion
|
|
113
|
|
114 #region Function Mapping
|
|
115
|
|
116 #region Helpers
|
|
117
|
|
118 static MemberInfo M<T>(Expression<Func<T,object>> func)
|
|
119 {
|
|
120 return ReflectionHelper.MemeberInfo(func);
|
|
121 }
|
|
122
|
|
123 static MemberInfo M(Expression<Func<object>> func)
|
|
124 {
|
|
125 return ReflectionHelper.MemeberInfo(func);
|
|
126 }
|
|
127
|
|
128 static LambdaExpression L<TR> (Expression<Func<TR>> func) { return func; }
|
|
129 static LambdaExpression L<T1,TR> (Expression<Func<T1,TR>> func) { return func; }
|
|
130 static LambdaExpression L<T1,T2,TR> (Expression<Func<T1,T2,TR>> func) { return func; }
|
|
131 static LambdaExpression L<T1,T2,T3,TR> (Expression<Func<T1,T2,T3,TR>> func) { return func; }
|
|
132 static LambdaExpression L<T1,T2,T3,T4,TR> (Expression<Func<T1,T2,T3,T4,TR>> func) { return func; }
|
|
133 static LambdaExpression L<T1,T2,T3,T4,T5,TR> (Expression<Func<T1,T2,T3,T4,T5,TR>> func) { return func; }
|
|
134 static LambdaExpression L<T1,T2,T3,T4,T5,T6,TR> (Expression<Func<T1,T2,T3,T4,T5,T6,TR>> func) { return func; }
|
|
135
|
|
136 #endregion
|
|
137
|
|
138 static public Dictionary<string,Dictionary<MemberInfo,LambdaExpression>> Members { get { return _members; } }
|
|
139 static readonly Dictionary<string,Dictionary<MemberInfo,LambdaExpression>> _members = new Dictionary<string,Dictionary<MemberInfo,LambdaExpression>>
|
|
140 {
|
|
141 { "", new Dictionary<MemberInfo,LambdaExpression> {
|
|
142
|
|
143 #region String
|
|
144
|
|
145 { M(() => "".Length ), L<S,I> ( obj => Sql.Length(obj).Value) },
|
|
146 { M(() => "".Substring (0) ), L<S,I,S> ((obj,p0) => Sql.Substring(obj, p0 + 1, obj.Length - p0)) },
|
|
147 { M(() => "".Substring (0,0) ), L<S,I,I,S> ((obj,p0,p1) => Sql.Substring(obj, p0 + 1, p1)) },
|
|
148 { M(() => "".ContainsExactly("") ), L<S,S,I> ((obj,p0) => p0.Length == 0 ? 0 : (Sql.ContainsExactly(p0, obj) .Value) - 1) },
|
|
149 { M(() => "".IndexOf ("") ), L<S,S,I> ((obj,p0) => p0.Length == 0 ? 0 : (Sql.CharIndex(p0, obj) .Value) - 1) },
|
|
150 { M(() => "".IndexOf ("",0) ), L<S,S,I,I> ((obj,p0,p1) => p0.Length == 0 && obj.Length > p1 ? p1 : (Sql.CharIndex(p0, obj, p1 + 1).Value) - 1) },
|
|
151 { M(() => "".IndexOf ("",0,0) ), L<S,S,I,I,I>((obj,p0,p1,p2) => p0.Length == 0 && obj.Length > p1 ? p1 : (Sql.CharIndex(p0, Sql.Left(obj, p2), p1) .Value) - 1) },
|
|
152 { M(() => "".IndexOf (' ') ), L<S,C,I> ((obj,p0) => (Sql.CharIndex(p0, obj) .Value) - 1) },
|
|
153 { M(() => "".IndexOf (' ',0) ), L<S,C,I,I> ((obj,p0,p1) => (Sql.CharIndex(p0, obj, p1 + 1).Value) - 1) },
|
|
154 { M(() => "".IndexOf (' ',0,0) ), L<S,C,I,I,I>((obj,p0,p1,p2) => (Sql.CharIndex(p0, Sql.Left(obj, p2), p1) ?? 0) - 1) },
|
|
155 { M(() => "".LastIndexOf("") ), L<S,S,I> ((obj,p0) => p0.Length == 0 ? obj.Length - 1 : (Sql.CharIndex(p0, obj) .Value) == 0 ? -1 : obj.Length - (Sql.CharIndex(Sql.Reverse(p0), Sql.Reverse(obj)) .Value) - p0.Length + 1) },
|
|
156 { M(() => "".LastIndexOf("",0) ), L<S,S,I,I> ((obj,p0,p1) => p0.Length == 0 ? p1 : (Sql.CharIndex(p0, obj, p1 + 1).Value) == 0 ? -1 : obj.Length - (Sql.CharIndex(Sql.Reverse(p0), Sql.Reverse(obj.Substring(p1, obj.Length - p1))).Value) - p0.Length + 1) },
|
|
157 { M(() => "".LastIndexOf("",0,0) ), L<S,S,I,I,I>((obj,p0,p1,p2) => p0.Length == 0 ? p1 : (Sql.CharIndex(p0, Sql.Left(obj, p1 + p2), p1 + 1).Value) == 0 ? -1 : p1 + p2 - (Sql.CharIndex(Sql.Reverse(p0), Sql.Reverse(obj.Substring(p1, p2))) .Value) - p0.Length + 1) },
|
|
158 { M(() => "".LastIndexOf(' ') ), L<S,C,I> ((obj,p0) => (Sql.CharIndex(p0, obj) .Value) == 0 ? -1 : obj.Length - (Sql.CharIndex(p0, Sql.Reverse(obj)) .Value)) },
|
|
159 { M(() => "".LastIndexOf(' ',0) ), L<S,C,I,I> ((obj,p0,p1) => (Sql.CharIndex(p0, obj, p1 + 1) .Value) == 0 ? -1 : obj.Length - (Sql.CharIndex(p0, Sql.Reverse(obj.Substring(p1, obj.Length - p1))).Value)) },
|
|
160 { M(() => "".LastIndexOf(' ',0,0) ), L<S,C,I,I,I>((obj,p0,p1,p2) => (Sql.CharIndex(p0, Sql.Left(obj, p1 + p2), p1 + 1).Value) == 0 ? -1 : p1 + p2 - (Sql.CharIndex(p0, Sql.Reverse(obj.Substring(p1, p2))) .Value)) },
|
|
161 { M(() => "".Insert (0,"") ), L<S,I,S,S> ((obj,p0,p1) => obj.Length == p0 ? obj + p1 : Sql.Stuff(obj, p0 + 1, 0, p1)) },
|
|
162 { M(() => "".Remove (0) ), L<S,I,S> ((obj,p0) => Sql.Left (obj, p0)) },
|
|
163 { M(() => "".Remove (0,0) ), L<S,I,I,S> ((obj,p0,p1) => Sql.Stuff (obj, p0 + 1, p1, "")) },
|
|
164 { M(() => "".PadLeft (0) ), L<S,I,S> ((obj,p0) => Sql.PadLeft (obj, p0, ' ')) },
|
|
165 { M(() => "".PadLeft (0,' ') ), L<S,I,C,S> ((obj,p0,p1) => Sql.PadLeft (obj, p0, p1)) },
|
|
166 { M(() => "".PadRight (0) ), L<S,I,S> ((obj,p0) => Sql.PadRight (obj, p0, ' ')) },
|
|
167 { M(() => "".PadRight (0,' ') ), L<S,I,C,S> ((obj,p0,p1) => Sql.PadRight (obj, p0, p1)) },
|
|
168 { M(() => "".Replace ("","") ), L<S,S,S,S> ((obj,p0,p1) => Sql.Replace (obj, p0, p1)) },
|
|
169 { M(() => "".Replace (' ',' ') ), L<S,C,C,S> ((obj,p0,p1) => Sql.Replace (obj, p0, p1)) },
|
|
170 { M(() => "".Trim () ), L<S,S> ( obj => Sql.Trim (obj)) },
|
|
171 { M(() => "".TrimEnd () ), L<S,C[],S> ((obj,ch) => TrimRight(obj, ch)) },
|
|
172 { M(() => "".TrimStart () ), L<S,C[],S> ((obj,ch) => TrimLeft (obj, ch)) },
|
|
173 { M(() => "".ToLower () ), L<S,S> ( obj => Sql.Lower(obj)) },
|
|
174 { M(() => "".ToUpper () ), L<S,S> ( obj => Sql.Upper(obj)) },
|
|
175 { M(() => "".CompareTo ("") ), L<S,S,I> ((obj,p0) => ConvertToCaseCompareTo(obj, p0).Value ) },
|
|
176 { M(() => "".CompareTo (1) ), L<S,O,I> ((obj,p0) => ConvertToCaseCompareTo(obj, p0.ToString()).Value ) },
|
|
177
|
|
178 { M(() => string.IsNullOrEmpty ("") ), L<S,B> ( p0 => p0 == null || p0.Length == 0) },
|
|
179 { M(() => string.CompareOrdinal("","")), L<S,S,I> ((s1,s2) => s1.CompareTo(s2)) },
|
|
180 { M(() => string.CompareOrdinal("",0,"",0,0)), L<S,I,S,I,I,I> ((s1,i1,s2,i2,l) => s1.Substring(i1, l).CompareTo(s2.Substring(i2, l))) },
|
|
181 { M(() => string.Compare ("","")), L<S,S,I> ((s1,s2) => s1.CompareTo(s2)) },
|
|
182 { M(() => string.Compare ("",0,"",0,0)), L<S,I,S,I,I,I> ((s1,i1,s2,i2,l) => s1.Substring(i1,l).CompareTo(s2.Substring(i2,l))) },
|
|
183 #if !SILVERLIGHT
|
|
184 { M(() => string.Compare ("","",true)), L<S,S,B,I> ((s1,s2,b) => b ? s1.ToLower().CompareTo(s2.ToLower()) : s1.CompareTo(s2)) },
|
|
185 { M(() => string.Compare ("",0,"",0,0,true)), L<S,I,S,I,I,B,I>((s1,i1,s2,i2,l,b) => b ? s1.Substring(i1,l).ToLower().CompareTo(s2.Substring(i2, l).ToLower()) : s1.Substring(i1, l).CompareTo(s2.Substring(i2, l))) },
|
|
186 #endif
|
|
187
|
|
188 { M(() => AltStuff("",0,0,"")), L<S,I?,I?,S,S>((p0,p1,p2,p3) => Sql.Left(p0, p1 - 1) + p3 + Sql.Right(p0, p0.Length - (p1 + p2 - 1))) },
|
|
189
|
|
190 #endregion
|
|
191
|
|
192 #region Binary
|
|
193
|
|
194 { M(() => ((Binary)null).Length ), L<Binary,I>(obj => Sql.Length(obj).Value) },
|
|
195
|
|
196 #endregion
|
|
197
|
|
198 #region DateTime
|
|
199
|
|
200 { M(() => Sql.GetDate() ), L<D> (() => Sql.CurrentTimestamp2 ) },
|
|
201 { M(() => DateTime.Now ), L<D> (() => Sql.CurrentTimestamp2 ) },
|
|
202
|
|
203 { M(() => DateTime.Now.Year ), L<D,I> (obj => Sql.DatePart(Sql.DateParts.Year, obj).Value ) },
|
|
204 { M(() => DateTime.Now.Month ), L<D,I> (obj => Sql.DatePart(Sql.DateParts.Month, obj).Value ) },
|
|
205 { M(() => DateTime.Now.DayOfYear ), L<D,I> (obj => Sql.DatePart(Sql.DateParts.DayOfYear, obj).Value ) },
|
|
206 { M(() => DateTime.Now.Day ), L<D,I> (obj => Sql.DatePart(Sql.DateParts.Day, obj).Value ) },
|
|
207 { M(() => DateTime.Now.DayOfWeek ), L<D,I> (obj => Sql.DatePart(Sql.DateParts.WeekDay, obj).Value - 1 ) },
|
|
208 { M(() => DateTime.Now.Hour ), L<D,I> (obj => Sql.DatePart(Sql.DateParts.Hour, obj).Value ) },
|
|
209 { M(() => DateTime.Now.Minute ), L<D,I> (obj => Sql.DatePart(Sql.DateParts.Minute, obj).Value ) },
|
|
210 { M(() => DateTime.Now.Second ), L<D,I> (obj => Sql.DatePart(Sql.DateParts.Second, obj).Value ) },
|
|
211 { M(() => DateTime.Now.Millisecond ), L<D,I> (obj => Sql.DatePart(Sql.DateParts.Millisecond, obj).Value ) },
|
|
212 { M(() => DateTime.Now.Date ), L<D,D> (obj => Sql.Convert2(Sql.Date, obj) ) },
|
|
213 { M(() => DateTime.Now.TimeOfDay ), L<D,T> (obj => Sql.DateToTime(Sql.Convert2(Sql.Time, obj)).Value ) },
|
|
214 { M(() => DateTime.Now.AddYears (0)), L<D,I,D> ((obj,p0) => Sql.DateAdd(Sql.DateParts.Year, p0, obj).Value ) },
|
|
215 { M(() => DateTime.Now.AddMonths (0)), L<D,I,D> ((obj,p0) => Sql.DateAdd(Sql.DateParts.Month, p0, obj).Value ) },
|
|
216 { M(() => DateTime.Now.AddDays (0)), L<D,F,D> ((obj,p0) => Sql.DateAdd(Sql.DateParts.Day, p0, obj).Value ) },
|
|
217 { M(() => DateTime.Now.AddHours (0)), L<D,F,D> ((obj,p0) => Sql.DateAdd(Sql.DateParts.Hour, p0, obj).Value ) },
|
|
218 { M(() => DateTime.Now.AddMinutes (0)), L<D,F,D> ((obj,p0) => Sql.DateAdd(Sql.DateParts.Minute, p0, obj).Value ) },
|
|
219 { M(() => DateTime.Now.AddSeconds (0)), L<D,F,D> ((obj,p0) => Sql.DateAdd(Sql.DateParts.Second, p0, obj).Value ) },
|
|
220 { M(() => DateTime.Now.AddMilliseconds(0)), L<D,F,D> ((obj,p0) => Sql.DateAdd(Sql.DateParts.Millisecond, p0, obj).Value ) },
|
|
221 { M(() => new DateTime(0, 0, 0) ), L<I,I,I,D>((y,m,d) => Sql.MakeDateTime(y, m, d).Value ) },
|
|
222
|
|
223 { M(() => Sql.MakeDateTime(0, 0, 0) ), L<I?,I?,I?,D?> ((y,m,d) => Sql.Convert(Sql.Date, y.ToString() + "-" + m.ToString() + "-" + d.ToString())) },
|
|
224 { M(() => new DateTime (0, 0, 0, 0, 0, 0) ), L<I,I,I,I,I,I,D> ((y,m,d,h,mm,s) => Sql.MakeDateTime(y, m, d, h, mm, s).Value ) },
|
|
225 { M(() => Sql.MakeDateTime(0, 0, 0, 0, 0, 0) ), L<I?,I?,I?,I?,I?,I?,D?>((y,m,d,h,mm,s) => Sql.Convert(Sql.DateTime2,
|
|
226 y.ToString() + "-" + m.ToString() + "-" + d.ToString() + " " +
|
|
227 h.ToString() + ":" + mm.ToString() + ":" + s.ToString())) },
|
|
228
|
|
229 #endregion
|
|
230
|
|
231 #region Parse
|
|
232
|
|
233 { M(() => Boolean. Parse("")), L<String,Boolean> (p0 => Sql.ConvertTo<Boolean>. From(p0) ) },
|
|
234 { M(() => Byte. Parse("")), L<String,Byte> (p0 => Sql.ConvertTo<Byte>. From(p0) ) },
|
|
235 #if !SILVERLIGHT
|
|
236 { M(() => Char. Parse("")), L<String,Char> (p0 => Sql.ConvertTo<Char>. From(p0) ) },
|
|
237 #endif
|
|
238 { M(() => DateTime.Parse("")), L<String,DateTime>(p0 => Sql.ConvertTo<DateTime>.From(p0) ) },
|
|
239 { M(() => Decimal. Parse("")), L<String,Decimal> (p0 => Sql.ConvertTo<Decimal>. From(p0) ) },
|
|
240 { M(() => Double. Parse("")), L<String,Double> (p0 => Sql.ConvertTo<Double>. From(p0) ) },
|
|
241 { M(() => Int16. Parse("")), L<String,Int16> (p0 => Sql.ConvertTo<Int16>. From(p0) ) },
|
|
242 { M(() => Int32. Parse("")), L<String,Int32> (p0 => Sql.ConvertTo<Int32>. From(p0) ) },
|
|
243 { M(() => Int64. Parse("")), L<String,Int64> (p0 => Sql.ConvertTo<Int64>. From(p0) ) },
|
|
244 { M(() => SByte. Parse("")), L<String,SByte> (p0 => Sql.ConvertTo<SByte>. From(p0) ) },
|
|
245 { M(() => Single. Parse("")), L<String,Single> (p0 => Sql.ConvertTo<Single>. From(p0) ) },
|
|
246 { M(() => UInt16. Parse("")), L<String,UInt16> (p0 => Sql.ConvertTo<UInt16>. From(p0) ) },
|
|
247 { M(() => UInt32. Parse("")), L<String,UInt32> (p0 => Sql.ConvertTo<UInt32>. From(p0) ) },
|
|
248 { M(() => UInt64. Parse("")), L<String,UInt64> (p0 => Sql.ConvertTo<UInt64>. From(p0) ) },
|
|
249
|
|
250 #endregion
|
|
251
|
|
252 #region ToString
|
|
253
|
|
254 { M(() => ((Boolean)true).ToString()), L<Boolean, String>(p0 => Sql.ConvertTo<string>.From(p0) ) },
|
|
255 { M(() => ((Byte) 0) .ToString()), L<Byte, String>(p0 => Sql.ConvertTo<string>.From(p0) ) },
|
|
256 { M(() => ((Char) '0') .ToString()), L<Char, String>(p0 => Sql.ConvertTo<string>.From(p0) ) },
|
|
257 { M(() => ((Decimal) 0) .ToString()), L<Decimal, String>(p0 => Sql.ConvertTo<string>.From(p0) ) },
|
|
258 { M(() => ((Double) 0) .ToString()), L<Double, String>(p0 => Sql.ConvertTo<string>.From(p0) ) },
|
|
259 { M(() => ((Int16) 0) .ToString()), L<Int16, String>(p0 => Sql.ConvertTo<string>.From(p0) ) },
|
|
260 { M(() => ((Int32) 0) .ToString()), L<Int32, String>(p0 => Sql.ConvertTo<string>.From(p0) ) },
|
|
261 { M(() => ((Int64) 0) .ToString()), L<Int64, String>(p0 => Sql.ConvertTo<string>.From(p0) ) },
|
|
262 { M(() => ((SByte) 0) .ToString()), L<SByte, String>(p0 => Sql.ConvertTo<string>.From(p0) ) },
|
|
263 { M(() => ((Single) 0) .ToString()), L<Single, String>(p0 => Sql.ConvertTo<string>.From(p0) ) },
|
|
264 { M(() => ((String) "0") .ToString()), L<String, String>(p0 => p0 ) },
|
|
265 { M(() => ((UInt16) 0) .ToString()), L<UInt16, String>(p0 => Sql.ConvertTo<string>.From(p0) ) },
|
|
266 { M(() => ((UInt32) 0) .ToString()), L<UInt32, String>(p0 => Sql.ConvertTo<string>.From(p0) ) },
|
|
267 { M(() => ((UInt64) 0) .ToString()), L<UInt64, String>(p0 => Sql.ConvertTo<string>.From(p0) ) },
|
|
268
|
|
269 #endregion
|
|
270
|
|
271 #region Convert
|
|
272
|
|
273 #region ToBoolean
|
|
274
|
|
275 { M(() => Convert.ToBoolean((Boolean)true)), L<Boolean, Boolean>(p0 => Sql.ConvertTo<Boolean>.From(p0) ) },
|
|
276 { M(() => Convert.ToBoolean((Byte) 0) ), L<Byte, Boolean>(p0 => Sql.ConvertTo<Boolean>.From(p0) ) },
|
|
277 { M(() => Convert.ToBoolean((Char) '0') ), L<Char, Boolean>(p0 => Sql.ConvertTo<Boolean>.From(p0) ) },
|
|
278 #if !SILVERLIGHT
|
|
279 { M(() => Convert.ToBoolean(DateTime.Now) ), L<DateTime,Boolean>(p0 => Sql.ConvertTo<Boolean>.From(p0) ) },
|
|
280 #endif
|
|
281 { M(() => Convert.ToBoolean((Decimal) 0) ), L<Decimal, Boolean>(p0 => Sql.ConvertTo<Boolean>.From(p0) ) },
|
|
282 { M(() => Convert.ToBoolean((Double) 0) ), L<Double, Boolean>(p0 => Sql.ConvertTo<Boolean>.From(p0) ) },
|
|
283 { M(() => Convert.ToBoolean((Int16) 0) ), L<Int16, Boolean>(p0 => Sql.ConvertTo<Boolean>.From(p0) ) },
|
|
284 { M(() => Convert.ToBoolean((Int32) 0) ), L<Int32, Boolean>(p0 => Sql.ConvertTo<Boolean>.From(p0) ) },
|
|
285 { M(() => Convert.ToBoolean((Int64) 0) ), L<Int64, Boolean>(p0 => Sql.ConvertTo<Boolean>.From(p0) ) },
|
|
286 { M(() => Convert.ToBoolean((Object) 0) ), L<Object, Boolean>(p0 => Sql.ConvertTo<Boolean>.From(p0) ) },
|
|
287 { M(() => Convert.ToBoolean((SByte) 0) ), L<SByte, Boolean>(p0 => Sql.ConvertTo<Boolean>.From(p0) ) },
|
|
288 { M(() => Convert.ToBoolean((Single) 0) ), L<Single, Boolean>(p0 => Sql.ConvertTo<Boolean>.From(p0) ) },
|
|
289 { M(() => Convert.ToBoolean((String) "0") ), L<String, Boolean>(p0 => Sql.ConvertTo<Boolean>.From(p0) ) },
|
|
290 { M(() => Convert.ToBoolean((UInt16) 0) ), L<UInt16, Boolean>(p0 => Sql.ConvertTo<Boolean>.From(p0) ) },
|
|
291 { M(() => Convert.ToBoolean((UInt32) 0) ), L<UInt32, Boolean>(p0 => Sql.ConvertTo<Boolean>.From(p0) ) },
|
|
292 { M(() => Convert.ToBoolean((UInt64) 0) ), L<UInt64, Boolean>(p0 => Sql.ConvertTo<Boolean>.From(p0) ) },
|
|
293
|
|
294 #endregion
|
|
295
|
|
296 #region ToByte
|
|
297
|
|
298 { M(() => Convert.ToByte((Boolean)true)), L<Boolean, Byte>(p0 => Sql.ConvertTo<Byte>.From(p0) ) },
|
|
299 { M(() => Convert.ToByte((Byte) 0) ), L<Byte, Byte>(p0 => Sql.ConvertTo<Byte>.From(p0) ) },
|
|
300 { M(() => Convert.ToByte((Char) '0') ), L<Char, Byte>(p0 => Sql.ConvertTo<Byte>.From(p0) ) },
|
|
301 #if !SILVERLIGHT
|
|
302 { M(() => Convert.ToByte(DateTime.Now) ), L<DateTime,Byte>(p0 => Sql.ConvertTo<Byte>.From(p0) ) },
|
|
303 #endif
|
|
304 { M(() => Convert.ToByte((Decimal) 0) ), L<Decimal, Byte>(p0 => Sql.ConvertTo<Byte>.From(Sql.RoundToEven(p0)) ) },
|
|
305 { M(() => Convert.ToByte((Double) 0) ), L<Double, Byte>(p0 => Sql.ConvertTo<Byte>.From(Sql.RoundToEven(p0)) ) },
|
|
306 { M(() => Convert.ToByte((Int16) 0) ), L<Int16, Byte>(p0 => Sql.ConvertTo<Byte>.From(p0) ) },
|
|
307 { M(() => Convert.ToByte((Int32) 0) ), L<Int32, Byte>(p0 => Sql.ConvertTo<Byte>.From(p0) ) },
|
|
308 { M(() => Convert.ToByte((Int64) 0) ), L<Int64, Byte>(p0 => Sql.ConvertTo<Byte>.From(p0) ) },
|
|
309 { M(() => Convert.ToByte((Object) 0) ), L<Object, Byte>(p0 => Sql.ConvertTo<Byte>.From(p0) ) },
|
|
310 { M(() => Convert.ToByte((SByte) 0) ), L<SByte, Byte>(p0 => Sql.ConvertTo<Byte>.From(p0) ) },
|
|
311 { M(() => Convert.ToByte((Single) 0) ), L<Single, Byte>(p0 => Sql.ConvertTo<Byte>.From(Sql.RoundToEven(p0)) ) },
|
|
312 { M(() => Convert.ToByte((String) "0") ), L<String, Byte>(p0 => Sql.ConvertTo<Byte>.From(p0) ) },
|
|
313 { M(() => Convert.ToByte((UInt16) 0) ), L<UInt16, Byte>(p0 => Sql.ConvertTo<Byte>.From(p0) ) },
|
|
314 { M(() => Convert.ToByte((UInt32) 0) ), L<UInt32, Byte>(p0 => Sql.ConvertTo<Byte>.From(p0) ) },
|
|
315 { M(() => Convert.ToByte((UInt64) 0) ), L<UInt64, Byte>(p0 => Sql.ConvertTo<Byte>.From(p0) ) },
|
|
316
|
|
317 #endregion
|
|
318
|
|
319 #region ToChar
|
|
320
|
|
321 #if !SILVERLIGHT
|
|
322 { M(() => Convert.ToChar((Boolean)true)), L<Boolean, Char>(p0 => Sql.ConvertTo<Char>.From(p0) ) },
|
|
323 #endif
|
|
324 { M(() => Convert.ToChar((Byte) 0) ), L<Byte, Char>(p0 => Sql.ConvertTo<Char>.From(p0) ) },
|
|
325 { M(() => Convert.ToChar((Char) '0') ), L<Char, Char>(p0 => p0 ) },
|
|
326 #if !SILVERLIGHT
|
|
327 { M(() => Convert.ToChar(DateTime.Now) ), L<DateTime,Char>(p0 => Sql.ConvertTo<Char>.From(p0) ) },
|
|
328 #endif
|
|
329 { M(() => Convert.ToChar((Decimal) 0) ), L<Decimal, Char>(p0 => Sql.ConvertTo<Char>.From(Sql.RoundToEven(p0)) ) },
|
|
330 { M(() => Convert.ToChar((Double) 0) ), L<Double, Char>(p0 => Sql.ConvertTo<Char>.From(Sql.RoundToEven(p0)) ) },
|
|
331 { M(() => Convert.ToChar((Int16) 0) ), L<Int16, Char>(p0 => Sql.ConvertTo<Char>.From(p0) ) },
|
|
332 { M(() => Convert.ToChar((Int32) 0) ), L<Int32, Char>(p0 => Sql.ConvertTo<Char>.From(p0) ) },
|
|
333 { M(() => Convert.ToChar((Int64) 0) ), L<Int64, Char>(p0 => Sql.ConvertTo<Char>.From(p0) ) },
|
|
334 { M(() => Convert.ToChar((Object) 0) ), L<Object, Char>(p0 => Sql.ConvertTo<Char>.From(p0) ) },
|
|
335 { M(() => Convert.ToChar((SByte) 0) ), L<SByte, Char>(p0 => Sql.ConvertTo<Char>.From(p0) ) },
|
|
336 { M(() => Convert.ToChar((Single) 0) ), L<Single, Char>(p0 => Sql.ConvertTo<Char>.From(Sql.RoundToEven(p0)) ) },
|
|
337 { M(() => Convert.ToChar((String) "0") ), L<String, Char>(p0 => Sql.ConvertTo<Char>.From(p0) ) },
|
|
338 { M(() => Convert.ToChar((UInt16) 0) ), L<UInt16, Char>(p0 => Sql.ConvertTo<Char>.From(p0) ) },
|
|
339 { M(() => Convert.ToChar((UInt32) 0) ), L<UInt32, Char>(p0 => Sql.ConvertTo<Char>.From(p0) ) },
|
|
340 { M(() => Convert.ToChar((UInt64) 0) ), L<UInt64, Char>(p0 => Sql.ConvertTo<Char>.From(p0) ) },
|
|
341
|
|
342 #endregion
|
|
343
|
|
344 #region ToDateTime
|
|
345
|
|
346 { M(() => Convert.ToDateTime((Object) 0) ), L<Object, DateTime>(p0 => Sql.ConvertTo<DateTime>.From(p0) ) },
|
|
347 { M(() => Convert.ToDateTime((String) "0") ), L<String, DateTime>(p0 => Sql.ConvertTo<DateTime>.From(p0) ) },
|
|
348 #if !SILVERLIGHT
|
|
349 { M(() => Convert.ToDateTime((Boolean)true)), L<Boolean, DateTime>(p0 => Sql.ConvertTo<DateTime>.From(p0) ) },
|
|
350 { M(() => Convert.ToDateTime((Byte) 0) ), L<Byte, DateTime>(p0 => Sql.ConvertTo<DateTime>.From(p0) ) },
|
|
351 { M(() => Convert.ToDateTime((Char) '0') ), L<Char, DateTime>(p0 => Sql.ConvertTo<DateTime>.From(p0) ) },
|
|
352 { M(() => Convert.ToDateTime(DateTime.Now) ), L<DateTime,DateTime>(p0 => p0 ) },
|
|
353 { M(() => Convert.ToDateTime((Decimal) 0) ), L<Decimal, DateTime>(p0 => Sql.ConvertTo<DateTime>.From(p0) ) },
|
|
354 { M(() => Convert.ToDateTime((Double) 0) ), L<Double, DateTime>(p0 => Sql.ConvertTo<DateTime>.From(p0) ) },
|
|
355 { M(() => Convert.ToDateTime((Int16) 0) ), L<Int16, DateTime>(p0 => Sql.ConvertTo<DateTime>.From(p0) ) },
|
|
356 { M(() => Convert.ToDateTime((Int32) 0) ), L<Int32, DateTime>(p0 => Sql.ConvertTo<DateTime>.From(p0) ) },
|
|
357 { M(() => Convert.ToDateTime((Int64) 0) ), L<Int64, DateTime>(p0 => Sql.ConvertTo<DateTime>.From(p0) ) },
|
|
358 { M(() => Convert.ToDateTime((SByte) 0) ), L<SByte, DateTime>(p0 => Sql.ConvertTo<DateTime>.From(p0) ) },
|
|
359 { M(() => Convert.ToDateTime((Single) 0) ), L<Single, DateTime>(p0 => Sql.ConvertTo<DateTime>.From(p0) ) },
|
|
360 { M(() => Convert.ToDateTime((UInt16) 0) ), L<UInt16, DateTime>(p0 => Sql.ConvertTo<DateTime>.From(p0) ) },
|
|
361 { M(() => Convert.ToDateTime((UInt32) 0) ), L<UInt32, DateTime>(p0 => Sql.ConvertTo<DateTime>.From(p0) ) },
|
|
362 { M(() => Convert.ToDateTime((UInt64) 0) ), L<UInt64, DateTime>(p0 => Sql.ConvertTo<DateTime>.From(p0) ) },
|
|
363 #endif
|
|
364
|
|
365 #endregion
|
|
366
|
|
367 #region ToDecimal
|
|
368
|
|
369 { M(() => Convert.ToDecimal((Boolean)true)), L<Boolean, Decimal>(p0 => Sql.ConvertTo<Decimal>.From(p0) ) },
|
|
370 { M(() => Convert.ToDecimal((Byte) 0) ), L<Byte, Decimal>(p0 => Sql.ConvertTo<Decimal>.From(p0) ) },
|
|
371 { M(() => Convert.ToDecimal((Char) '0') ), L<Char, Decimal>(p0 => Sql.ConvertTo<Decimal>.From(p0) ) },
|
|
372 { M(() => Convert.ToDecimal(DateTime.Now) ), L<DateTime,Decimal>(p0 => Sql.ConvertTo<Decimal>.From(p0) ) },
|
|
373 { M(() => Convert.ToDecimal((Decimal) 0) ), L<Decimal, Decimal>(p0 => Sql.ConvertTo<Decimal>.From(p0) ) },
|
|
374 { M(() => Convert.ToDecimal((Double) 0) ), L<Double, Decimal>(p0 => Sql.ConvertTo<Decimal>.From(p0) ) },
|
|
375 { M(() => Convert.ToDecimal((Int16) 0) ), L<Int16, Decimal>(p0 => Sql.ConvertTo<Decimal>.From(p0) ) },
|
|
376 { M(() => Convert.ToDecimal((Int32) 0) ), L<Int32, Decimal>(p0 => Sql.ConvertTo<Decimal>.From(p0) ) },
|
|
377 { M(() => Convert.ToDecimal((Int64) 0) ), L<Int64, Decimal>(p0 => Sql.ConvertTo<Decimal>.From(p0) ) },
|
|
378 { M(() => Convert.ToDecimal((Object) 0) ), L<Object, Decimal>(p0 => Sql.ConvertTo<Decimal>.From(p0) ) },
|
|
379 { M(() => Convert.ToDecimal((SByte) 0) ), L<SByte, Decimal>(p0 => Sql.ConvertTo<Decimal>.From(p0) ) },
|
|
380 { M(() => Convert.ToDecimal((Single) 0) ), L<Single, Decimal>(p0 => Sql.ConvertTo<Decimal>.From(p0) ) },
|
|
381 { M(() => Convert.ToDecimal((String) "0") ), L<String, Decimal>(p0 => Sql.ConvertTo<Decimal>.From(p0) ) },
|
|
382 { M(() => Convert.ToDecimal((UInt16) 0) ), L<UInt16, Decimal>(p0 => Sql.ConvertTo<Decimal>.From(p0) ) },
|
|
383 { M(() => Convert.ToDecimal((UInt32) 0) ), L<UInt32, Decimal>(p0 => Sql.ConvertTo<Decimal>.From(p0) ) },
|
|
384 { M(() => Convert.ToDecimal((UInt64) 0) ), L<UInt64, Decimal>(p0 => Sql.ConvertTo<Decimal>.From(p0) ) },
|
|
385
|
|
386 #endregion
|
|
387
|
|
388 #region ToDouble
|
|
389
|
|
390 { M(() => Convert.ToDouble((Boolean)true)), L<Boolean, Double>(p0 => Sql.ConvertTo<Double>.From(p0) ) },
|
|
391 { M(() => Convert.ToDouble((Byte) 0) ), L<Byte, Double>(p0 => Sql.ConvertTo<Double>.From(p0) ) },
|
|
392 { M(() => Convert.ToDouble((Char) '0') ), L<Char, Double>(p0 => Sql.ConvertTo<Double>.From(p0) ) },
|
|
393 #if !SILVERLIGHT
|
|
394 { M(() => Convert.ToDouble(DateTime.Now) ), L<DateTime,Double>(p0 => Sql.ConvertTo<Double>.From(p0) ) },
|
|
395 #endif
|
|
396 { M(() => Convert.ToDouble((Decimal) 0) ), L<Decimal, Double>(p0 => Sql.ConvertTo<Double>.From(p0) ) },
|
|
397 { M(() => Convert.ToDouble((Double) 0) ), L<Double, Double>(p0 => Sql.ConvertTo<Double>.From(p0) ) },
|
|
398 { M(() => Convert.ToDouble((Int16) 0) ), L<Int16, Double>(p0 => Sql.ConvertTo<Double>.From(p0) ) },
|
|
399 { M(() => Convert.ToDouble((Int32) 0) ), L<Int32, Double>(p0 => Sql.ConvertTo<Double>.From(p0) ) },
|
|
400 { M(() => Convert.ToDouble((Int64) 0) ), L<Int64, Double>(p0 => Sql.ConvertTo<Double>.From(p0) ) },
|
|
401 { M(() => Convert.ToDouble((Object) 0) ), L<Object, Double>(p0 => Sql.ConvertTo<Double>.From(p0) ) },
|
|
402 { M(() => Convert.ToDouble((SByte) 0) ), L<SByte, Double>(p0 => Sql.ConvertTo<Double>.From(p0) ) },
|
|
403 { M(() => Convert.ToDouble((Single) 0) ), L<Single, Double>(p0 => Sql.ConvertTo<Double>.From(p0) ) },
|
|
404 { M(() => Convert.ToDouble((String) "0") ), L<String, Double>(p0 => Sql.ConvertTo<Double>.From(p0) ) },
|
|
405 { M(() => Convert.ToDouble((UInt16) 0) ), L<UInt16, Double>(p0 => Sql.ConvertTo<Double>.From(p0) ) },
|
|
406 { M(() => Convert.ToDouble((UInt32) 0) ), L<UInt32, Double>(p0 => Sql.ConvertTo<Double>.From(p0) ) },
|
|
407 { M(() => Convert.ToDouble((UInt64) 0) ), L<UInt64, Double>(p0 => Sql.ConvertTo<Double>.From(p0) ) },
|
|
408
|
|
409 #endregion
|
|
410
|
|
411 #region ToInt64
|
|
412
|
|
413 { M(() => Convert.ToInt64((Boolean)true)), L<Boolean, Int64>(p0 => Sql.ConvertTo<Int64>.From(p0) ) },
|
|
414 { M(() => Convert.ToInt64((Byte) 0) ), L<Byte, Int64>(p0 => Sql.ConvertTo<Int64>.From(p0) ) },
|
|
415 { M(() => Convert.ToInt64((Char) '0') ), L<Char, Int64>(p0 => Sql.ConvertTo<Int64>.From(p0) ) },
|
|
416 #if !SILVERLIGHT
|
|
417 { M(() => Convert.ToInt64(DateTime.Now) ), L<DateTime,Int64>(p0 => Sql.ConvertTo<Int64>.From(p0) ) },
|
|
418 #endif
|
|
419 { M(() => Convert.ToInt64((Decimal) 0) ), L<Decimal, Int64>(p0 => Sql.ConvertTo<Int64>.From(Sql.RoundToEven(p0)) ) },
|
|
420 { M(() => Convert.ToInt64((Double) 0) ), L<Double, Int64>(p0 => Sql.ConvertTo<Int64>.From(Sql.RoundToEven(p0)) ) },
|
|
421 { M(() => Convert.ToInt64((Int16) 0) ), L<Int16, Int64>(p0 => Sql.ConvertTo<Int64>.From(p0) ) },
|
|
422 { M(() => Convert.ToInt64((Int32) 0) ), L<Int32, Int64>(p0 => Sql.ConvertTo<Int64>.From(p0) ) },
|
|
423 { M(() => Convert.ToInt64((Int64) 0) ), L<Int64, Int64>(p0 => Sql.ConvertTo<Int64>.From(p0) ) },
|
|
424 { M(() => Convert.ToInt64((Object) 0) ), L<Object, Int64>(p0 => Sql.ConvertTo<Int64>.From(p0) ) },
|
|
425 { M(() => Convert.ToInt64((SByte) 0) ), L<SByte, Int64>(p0 => Sql.ConvertTo<Int64>.From(p0) ) },
|
|
426 { M(() => Convert.ToInt64((Single) 0) ), L<Single, Int64>(p0 => Sql.ConvertTo<Int64>.From(Sql.RoundToEven(p0)) ) },
|
|
427 { M(() => Convert.ToInt64((String) "0") ), L<String, Int64>(p0 => Sql.ConvertTo<Int64>.From(p0) ) },
|
|
428 { M(() => Convert.ToInt64((UInt16) 0) ), L<UInt16, Int64>(p0 => Sql.ConvertTo<Int64>.From(p0) ) },
|
|
429 { M(() => Convert.ToInt64((UInt32) 0) ), L<UInt32, Int64>(p0 => Sql.ConvertTo<Int64>.From(p0) ) },
|
|
430 { M(() => Convert.ToInt64((UInt64) 0) ), L<UInt64, Int64>(p0 => Sql.ConvertTo<Int64>.From(p0) ) },
|
|
431
|
|
432 #endregion
|
|
433
|
|
434 #region ToInt32
|
|
435
|
|
436 { M(() => Convert.ToInt32((Boolean)true)), L<Boolean, Int32>(p0 => Sql.ConvertTo<Int32>.From(p0) ) },
|
|
437 { M(() => Convert.ToInt32((Byte) 0) ), L<Byte, Int32>(p0 => Sql.ConvertTo<Int32>.From(p0) ) },
|
|
438 { M(() => Convert.ToInt32((Char) '0') ), L<Char, Int32>(p0 => Sql.ConvertTo<Int32>.From(p0) ) },
|
|
439 #if !SILVERLIGHT
|
|
440 { M(() => Convert.ToInt32(DateTime.Now) ), L<DateTime,Int32>(p0 => Sql.ConvertTo<Int32>.From(p0) ) },
|
|
441 #endif
|
|
442 { M(() => Convert.ToInt32((Decimal) 0) ), L<Decimal, Int32>(p0 => Sql.ConvertTo<Int32>.From(Sql.RoundToEven(p0)) ) },
|
|
443 { M(() => Convert.ToInt32((Double) 0) ), L<Double, Int32>(p0 => Sql.ConvertTo<Int32>.From(Sql.RoundToEven(p0)) ) },
|
|
444 { M(() => Convert.ToInt32((Int16) 0) ), L<Int16, Int32>(p0 => Sql.ConvertTo<Int32>.From(p0) ) },
|
|
445 { M(() => Convert.ToInt32((Int32) 0) ), L<Int32, Int32>(p0 => Sql.ConvertTo<Int32>.From(p0) ) },
|
|
446 { M(() => Convert.ToInt32((Int64) 0) ), L<Int64, Int32>(p0 => Sql.ConvertTo<Int32>.From(p0) ) },
|
|
447 { M(() => Convert.ToInt32((Object) 0) ), L<Object, Int32>(p0 => Sql.ConvertTo<Int32>.From(p0) ) },
|
|
448 { M(() => Convert.ToInt32((SByte) 0) ), L<SByte, Int32>(p0 => Sql.ConvertTo<Int32>.From(p0) ) },
|
|
449 { M(() => Convert.ToInt32((Single) 0) ), L<Single, Int32>(p0 => Sql.ConvertTo<Int32>.From(Sql.RoundToEven(p0)) ) },
|
|
450 { M(() => Convert.ToInt32((String) "0") ), L<String, Int32>(p0 => Sql.ConvertTo<Int32>.From(p0) ) },
|
|
451 { M(() => Convert.ToInt32((UInt16) 0) ), L<UInt16, Int32>(p0 => Sql.ConvertTo<Int32>.From(p0) ) },
|
|
452 { M(() => Convert.ToInt32((UInt32) 0) ), L<UInt32, Int32>(p0 => Sql.ConvertTo<Int32>.From(p0) ) },
|
|
453 { M(() => Convert.ToInt32((UInt64) 0) ), L<UInt64, Int32>(p0 => Sql.ConvertTo<Int32>.From(p0) ) },
|
|
454
|
|
455 #endregion
|
|
456
|
|
457 #region ToInt16
|
|
458
|
|
459 { M(() => Convert.ToInt16((Boolean)true)), L<Boolean, Int16>(p0 => Sql.ConvertTo<Int16>.From(p0) ) },
|
|
460 { M(() => Convert.ToInt16((Byte) 0) ), L<Byte, Int16>(p0 => Sql.ConvertTo<Int16>.From(p0) ) },
|
|
461 { M(() => Convert.ToInt16((Char) '0') ), L<Char, Int16>(p0 => Sql.ConvertTo<Int16>.From(p0) ) },
|
|
462 #if !SILVERLIGHT
|
|
463 { M(() => Convert.ToInt16(DateTime.Now) ), L<DateTime,Int16>(p0 => Sql.ConvertTo<Int16>.From(p0) ) },
|
|
464 #endif
|
|
465 { M(() => Convert.ToInt16((Decimal) 0) ), L<Decimal, Int16>(p0 => Sql.ConvertTo<Int16>.From(Sql.RoundToEven(p0)) ) },
|
|
466 { M(() => Convert.ToInt16((Double) 0) ), L<Double, Int16>(p0 => Sql.ConvertTo<Int16>.From(Sql.RoundToEven(p0)) ) },
|
|
467 { M(() => Convert.ToInt16((Int16) 0) ), L<Int16, Int16>(p0 => Sql.ConvertTo<Int16>.From(p0) ) },
|
|
468 { M(() => Convert.ToInt16((Int32) 0) ), L<Int32, Int16>(p0 => Sql.ConvertTo<Int16>.From(p0) ) },
|
|
469 { M(() => Convert.ToInt16((Int64) 0) ), L<Int64, Int16>(p0 => Sql.ConvertTo<Int16>.From(p0) ) },
|
|
470 { M(() => Convert.ToInt16((Object) 0) ), L<Object, Int16>(p0 => Sql.ConvertTo<Int16>.From(p0) ) },
|
|
471 { M(() => Convert.ToInt16((SByte) 0) ), L<SByte, Int16>(p0 => Sql.ConvertTo<Int16>.From(p0) ) },
|
|
472 { M(() => Convert.ToInt16((Single) 0) ), L<Single, Int16>(p0 => Sql.ConvertTo<Int16>.From(Sql.RoundToEven(p0)) ) },
|
|
473 { M(() => Convert.ToInt16((String) "0") ), L<String, Int16>(p0 => Sql.ConvertTo<Int16>.From(p0) ) },
|
|
474 { M(() => Convert.ToInt16((UInt16) 0) ), L<UInt16, Int16>(p0 => Sql.ConvertTo<Int16>.From(p0) ) },
|
|
475 { M(() => Convert.ToInt16((UInt32) 0) ), L<UInt32, Int16>(p0 => Sql.ConvertTo<Int16>.From(p0) ) },
|
|
476 { M(() => Convert.ToInt16((UInt64) 0) ), L<UInt64, Int16>(p0 => Sql.ConvertTo<Int16>.From(p0) ) },
|
|
477
|
|
478 #endregion
|
|
479
|
|
480 #region ToSByte
|
|
481
|
|
482 { M(() => Convert.ToSByte((Boolean)true)), L<Boolean, SByte>(p0 => Sql.ConvertTo<SByte>.From(p0) ) },
|
|
483 { M(() => Convert.ToSByte((Byte) 0) ), L<Byte, SByte>(p0 => Sql.ConvertTo<SByte>.From(p0) ) },
|
|
484 { M(() => Convert.ToSByte((Char) '0') ), L<Char, SByte>(p0 => Sql.ConvertTo<SByte>.From(p0) ) },
|
|
485 #if !SILVERLIGHT
|
|
486 { M(() => Convert.ToSByte(DateTime.Now) ), L<DateTime,SByte>(p0 => Sql.ConvertTo<SByte>.From(p0) ) },
|
|
487 #endif
|
|
488 { M(() => Convert.ToSByte((Decimal) 0) ), L<Decimal, SByte>(p0 => Sql.ConvertTo<SByte>.From(Sql.RoundToEven(p0)) ) },
|
|
489 { M(() => Convert.ToSByte((Double) 0) ), L<Double, SByte>(p0 => Sql.ConvertTo<SByte>.From(Sql.RoundToEven(p0)) ) },
|
|
490 { M(() => Convert.ToSByte((Int16) 0) ), L<Int16, SByte>(p0 => Sql.ConvertTo<SByte>.From(p0) ) },
|
|
491 { M(() => Convert.ToSByte((Int32) 0) ), L<Int32, SByte>(p0 => Sql.ConvertTo<SByte>.From(p0) ) },
|
|
492 { M(() => Convert.ToSByte((Int64) 0) ), L<Int64, SByte>(p0 => Sql.ConvertTo<SByte>.From(p0) ) },
|
|
493 { M(() => Convert.ToSByte((Object) 0) ), L<Object, SByte>(p0 => Sql.ConvertTo<SByte>.From(p0) ) },
|
|
494 { M(() => Convert.ToSByte((SByte) 0) ), L<SByte, SByte>(p0 => Sql.ConvertTo<SByte>.From(p0) ) },
|
|
495 { M(() => Convert.ToSByte((Single) 0) ), L<Single, SByte>(p0 => Sql.ConvertTo<SByte>.From(Sql.RoundToEven(p0)) ) },
|
|
496 { M(() => Convert.ToSByte((String) "0") ), L<String, SByte>(p0 => Sql.ConvertTo<SByte>.From(p0) ) },
|
|
497 { M(() => Convert.ToSByte((UInt16) 0) ), L<UInt16, SByte>(p0 => Sql.ConvertTo<SByte>.From(p0) ) },
|
|
498 { M(() => Convert.ToSByte((UInt32) 0) ), L<UInt32, SByte>(p0 => Sql.ConvertTo<SByte>.From(p0) ) },
|
|
499 { M(() => Convert.ToSByte((UInt64) 0) ), L<UInt64, SByte>(p0 => Sql.ConvertTo<SByte>.From(p0) ) },
|
|
500
|
|
501 #endregion
|
|
502
|
|
503 #region ToSingle
|
|
504
|
|
505 { M(() => Convert.ToSingle((Boolean)true)), L<Boolean, Single>(p0 => Sql.ConvertTo<Single>.From(p0) ) },
|
|
506 { M(() => Convert.ToSingle((Byte) 0) ), L<Byte, Single>(p0 => Sql.ConvertTo<Single>.From(p0) ) },
|
|
507 { M(() => Convert.ToSingle((Char) '0') ), L<Char, Single>(p0 => Sql.ConvertTo<Single>.From(p0) ) },
|
|
508 #if !SILVERLIGHT
|
|
509 { M(() => Convert.ToSingle(DateTime.Now) ), L<DateTime,Single>(p0 => Sql.ConvertTo<Single>.From(p0) ) },
|
|
510 #endif
|
|
511 { M(() => Convert.ToSingle((Decimal) 0) ), L<Decimal, Single>(p0 => Sql.ConvertTo<Single>.From(p0) ) },
|
|
512 { M(() => Convert.ToSingle((Double) 0) ), L<Double, Single>(p0 => Sql.ConvertTo<Single>.From(p0) ) },
|
|
513 { M(() => Convert.ToSingle((Int16) 0) ), L<Int16, Single>(p0 => Sql.ConvertTo<Single>.From(p0) ) },
|
|
514 { M(() => Convert.ToSingle((Int32) 0) ), L<Int32, Single>(p0 => Sql.ConvertTo<Single>.From(p0) ) },
|
|
515 { M(() => Convert.ToSingle((Int64) 0) ), L<Int64, Single>(p0 => Sql.ConvertTo<Single>.From(p0) ) },
|
|
516 { M(() => Convert.ToSingle((Object) 0) ), L<Object, Single>(p0 => Sql.ConvertTo<Single>.From(p0) ) },
|
|
517 { M(() => Convert.ToSingle((SByte) 0) ), L<SByte, Single>(p0 => Sql.ConvertTo<Single>.From(p0) ) },
|
|
518 { M(() => Convert.ToSingle((Single) 0) ), L<Single, Single>(p0 => Sql.ConvertTo<Single>.From(p0) ) },
|
|
519 { M(() => Convert.ToSingle((String) "0") ), L<String, Single>(p0 => Sql.ConvertTo<Single>.From(p0) ) },
|
|
520 { M(() => Convert.ToSingle((UInt16) 0) ), L<UInt16, Single>(p0 => Sql.ConvertTo<Single>.From(p0) ) },
|
|
521 { M(() => Convert.ToSingle((UInt32) 0) ), L<UInt32, Single>(p0 => Sql.ConvertTo<Single>.From(p0) ) },
|
|
522 { M(() => Convert.ToSingle((UInt64) 0) ), L<UInt64, Single>(p0 => Sql.ConvertTo<Single>.From(p0) ) },
|
|
523
|
|
524 #endregion
|
|
525
|
|
526 #region ToString
|
|
527
|
|
528 { M(() => Convert.ToString((Boolean)true)), L<Boolean, String>(p0 => Sql.ConvertTo<String>.From(p0) ) },
|
|
529 { M(() => Convert.ToString((Byte) 0) ), L<Byte, String>(p0 => Sql.ConvertTo<String>.From(p0) ) },
|
|
530 { M(() => Convert.ToString((Char) '0') ), L<Char, String>(p0 => Sql.ConvertTo<String>.From(p0) ) },
|
|
531 { M(() => Convert.ToString(DateTime.Now) ), L<DateTime,String>(p0 => Sql.ConvertTo<String>.From(p0) ) },
|
|
532 { M(() => Convert.ToString((Decimal) 0) ), L<Decimal, String>(p0 => Sql.ConvertTo<String>.From(p0) ) },
|
|
533 { M(() => Convert.ToString((Double) 0) ), L<Double, String>(p0 => Sql.ConvertTo<String>.From(p0) ) },
|
|
534 { M(() => Convert.ToString((Int16) 0) ), L<Int16, String>(p0 => Sql.ConvertTo<String>.From(p0) ) },
|
|
535 { M(() => Convert.ToString((Int32) 0) ), L<Int32, String>(p0 => Sql.ConvertTo<String>.From(p0) ) },
|
|
536 { M(() => Convert.ToString((Int64) 0) ), L<Int64, String>(p0 => Sql.ConvertTo<String>.From(p0) ) },
|
|
537 { M(() => Convert.ToString((Object) 0) ), L<Object, String>(p0 => Sql.ConvertTo<String>.From(p0) ) },
|
|
538 { M(() => Convert.ToString((SByte) 0) ), L<SByte, String>(p0 => Sql.ConvertTo<String>.From(p0) ) },
|
|
539 { M(() => Convert.ToString((Single) 0) ), L<Single, String>(p0 => Sql.ConvertTo<String>.From(p0) ) },
|
|
540 #if !SILVERLIGHT
|
|
541 { M(() => Convert.ToString((String) "0") ), L<String, String>(p0 => p0 ) },
|
|
542 #endif
|
|
543 { M(() => Convert.ToString((UInt16) 0) ), L<UInt16, String>(p0 => Sql.ConvertTo<String>.From(p0) ) },
|
|
544 { M(() => Convert.ToString((UInt32) 0) ), L<UInt32, String>(p0 => Sql.ConvertTo<String>.From(p0) ) },
|
|
545 { M(() => Convert.ToString((UInt64) 0) ), L<UInt64, String>(p0 => Sql.ConvertTo<String>.From(p0) ) },
|
|
546
|
|
547 #endregion
|
|
548
|
|
549 #region ToInt16
|
|
550
|
|
551 { M(() => Convert.ToUInt16((Boolean)true)), L<Boolean, UInt16>(p0 => Sql.ConvertTo<UInt16>.From(p0) ) },
|
|
552 { M(() => Convert.ToUInt16((Byte) 0) ), L<Byte, UInt16>(p0 => Sql.ConvertTo<UInt16>.From(p0) ) },
|
|
553 { M(() => Convert.ToUInt16((Char) '0') ), L<Char, UInt16>(p0 => Sql.ConvertTo<UInt16>.From(p0) ) },
|
|
554 #if !SILVERLIGHT
|
|
555 { M(() => Convert.ToUInt16(DateTime.Now) ), L<DateTime,UInt16>(p0 => Sql.ConvertTo<UInt16>.From(p0) ) },
|
|
556 #endif
|
|
557 { M(() => Convert.ToUInt16((Decimal) 0) ), L<Decimal, UInt16>(p0 => Sql.ConvertTo<UInt16>.From(Sql.RoundToEven(p0)) ) },
|
|
558 { M(() => Convert.ToUInt16((Double) 0) ), L<Double, UInt16>(p0 => Sql.ConvertTo<UInt16>.From(Sql.RoundToEven(p0)) ) },
|
|
559 { M(() => Convert.ToUInt16((Int16) 0) ), L<Int16, UInt16>(p0 => Sql.ConvertTo<UInt16>.From(p0) ) },
|
|
560 { M(() => Convert.ToUInt16((Int32) 0) ), L<Int32, UInt16>(p0 => Sql.ConvertTo<UInt16>.From(p0) ) },
|
|
561 { M(() => Convert.ToUInt16((Int64) 0) ), L<Int64, UInt16>(p0 => Sql.ConvertTo<UInt16>.From(p0) ) },
|
|
562 { M(() => Convert.ToUInt16((Object) 0) ), L<Object, UInt16>(p0 => Sql.ConvertTo<UInt16>.From(p0) ) },
|
|
563 { M(() => Convert.ToUInt16((SByte) 0) ), L<SByte, UInt16>(p0 => Sql.ConvertTo<UInt16>.From(p0) ) },
|
|
564 { M(() => Convert.ToUInt16((Single) 0) ), L<Single, UInt16>(p0 => Sql.ConvertTo<UInt16>.From(Sql.RoundToEven(p0)) ) },
|
|
565 { M(() => Convert.ToUInt16((String) "0") ), L<String, UInt16>(p0 => Sql.ConvertTo<UInt16>.From(p0) ) },
|
|
566 { M(() => Convert.ToUInt16((UInt16) 0) ), L<UInt16, UInt16>(p0 => Sql.ConvertTo<UInt16>.From(p0) ) },
|
|
567 { M(() => Convert.ToUInt16((UInt32) 0) ), L<UInt32, UInt16>(p0 => Sql.ConvertTo<UInt16>.From(p0) ) },
|
|
568 { M(() => Convert.ToUInt16((UInt64) 0) ), L<UInt64, UInt16>(p0 => Sql.ConvertTo<UInt16>.From(p0) ) },
|
|
569
|
|
570 #endregion
|
|
571
|
|
572 #region ToInt32
|
|
573
|
|
574 { M(() => Convert.ToUInt32((Boolean)true)), L<Boolean, UInt32>(p0 => Sql.ConvertTo<UInt32>.From(p0) ) },
|
|
575 { M(() => Convert.ToUInt32((Byte) 0) ), L<Byte, UInt32>(p0 => Sql.ConvertTo<UInt32>.From(p0) ) },
|
|
576 { M(() => Convert.ToUInt32((Char) '0') ), L<Char, UInt32>(p0 => Sql.ConvertTo<UInt32>.From(p0) ) },
|
|
577 #if !SILVERLIGHT
|
|
578 { M(() => Convert.ToUInt32(DateTime.Now) ), L<DateTime,UInt32>(p0 => Sql.ConvertTo<UInt32>.From(p0) ) },
|
|
579 #endif
|
|
580 { M(() => Convert.ToUInt32((Decimal) 0) ), L<Decimal, UInt32>(p0 => Sql.ConvertTo<UInt32>.From(Sql.RoundToEven(p0)) ) },
|
|
581 { M(() => Convert.ToUInt32((Double) 0) ), L<Double, UInt32>(p0 => Sql.ConvertTo<UInt32>.From(Sql.RoundToEven(p0)) ) },
|
|
582 { M(() => Convert.ToUInt32((Int16) 0) ), L<Int16, UInt32>(p0 => Sql.ConvertTo<UInt32>.From(p0) ) },
|
|
583 { M(() => Convert.ToUInt32((Int32) 0) ), L<Int32, UInt32>(p0 => Sql.ConvertTo<UInt32>.From(p0) ) },
|
|
584 { M(() => Convert.ToUInt32((Int64) 0) ), L<Int64, UInt32>(p0 => Sql.ConvertTo<UInt32>.From(p0) ) },
|
|
585 { M(() => Convert.ToUInt32((Object) 0) ), L<Object, UInt32>(p0 => Sql.ConvertTo<UInt32>.From(p0) ) },
|
|
586 { M(() => Convert.ToUInt32((SByte) 0) ), L<SByte, UInt32>(p0 => Sql.ConvertTo<UInt32>.From(p0) ) },
|
|
587 { M(() => Convert.ToUInt32((Single) 0) ), L<Single, UInt32>(p0 => Sql.ConvertTo<UInt32>.From(Sql.RoundToEven(p0)) ) },
|
|
588 { M(() => Convert.ToUInt32((String) "0") ), L<String, UInt32>(p0 => Sql.ConvertTo<UInt32>.From(p0) ) },
|
|
589 { M(() => Convert.ToUInt32((UInt16) 0) ), L<UInt16, UInt32>(p0 => Sql.ConvertTo<UInt32>.From(p0) ) },
|
|
590 { M(() => Convert.ToUInt32((UInt32) 0) ), L<UInt32, UInt32>(p0 => Sql.ConvertTo<UInt32>.From(p0) ) },
|
|
591 { M(() => Convert.ToUInt32((UInt64) 0) ), L<UInt64, UInt32>(p0 => Sql.ConvertTo<UInt32>.From(p0) ) },
|
|
592
|
|
593 #endregion
|
|
594
|
|
595 #region ToUInt64
|
|
596
|
|
597 { M(() => Convert.ToUInt64((Boolean)true)), L<Boolean, UInt64>(p0 => Sql.ConvertTo<UInt64>.From(p0) ) },
|
|
598 { M(() => Convert.ToUInt64((Byte) 0) ), L<Byte, UInt64>(p0 => Sql.ConvertTo<UInt64>.From(p0) ) },
|
|
599 { M(() => Convert.ToUInt64((Char) '0') ), L<Char, UInt64>(p0 => Sql.ConvertTo<UInt64>.From(p0) ) },
|
|
600 #if !SILVERLIGHT
|
|
601 { M(() => Convert.ToUInt64(DateTime.Now) ), L<DateTime,UInt64>(p0 => Sql.ConvertTo<UInt64>.From(p0) ) },
|
|
602 #endif
|
|
603 { M(() => Convert.ToUInt64((Decimal) 0) ), L<Decimal, UInt64>(p0 => Sql.ConvertTo<UInt64>.From(Sql.RoundToEven(p0)) ) },
|
|
604 { M(() => Convert.ToUInt64((Double) 0) ), L<Double, UInt64>(p0 => Sql.ConvertTo<UInt64>.From(Sql.RoundToEven(p0)) ) },
|
|
605 { M(() => Convert.ToUInt64((Int16) 0) ), L<Int16, UInt64>(p0 => Sql.ConvertTo<UInt64>.From(p0) ) },
|
|
606 { M(() => Convert.ToUInt64((Int32) 0) ), L<Int32, UInt64>(p0 => Sql.ConvertTo<UInt64>.From(p0) ) },
|
|
607 { M(() => Convert.ToUInt64((Int64) 0) ), L<Int64, UInt64>(p0 => Sql.ConvertTo<UInt64>.From(p0) ) },
|
|
608 { M(() => Convert.ToUInt64((Object) 0) ), L<Object, UInt64>(p0 => Sql.ConvertTo<UInt64>.From(p0) ) },
|
|
609 { M(() => Convert.ToUInt64((SByte) 0) ), L<SByte, UInt64>(p0 => Sql.ConvertTo<UInt64>.From(p0) ) },
|
|
610 { M(() => Convert.ToUInt64((Single) 0) ), L<Single, UInt64>(p0 => Sql.ConvertTo<UInt64>.From(Sql.RoundToEven(p0)) ) },
|
|
611 { M(() => Convert.ToUInt64((String) "0") ), L<String, UInt64>(p0 => Sql.ConvertTo<UInt64>.From(p0) ) },
|
|
612 { M(() => Convert.ToUInt64((UInt16) 0) ), L<UInt16, UInt64>(p0 => Sql.ConvertTo<UInt64>.From(p0) ) },
|
|
613 { M(() => Convert.ToUInt64((UInt32) 0) ), L<UInt32, UInt64>(p0 => Sql.ConvertTo<UInt64>.From(p0) ) },
|
|
614 { M(() => Convert.ToUInt64((UInt64) 0) ), L<UInt64, UInt64>(p0 => Sql.ConvertTo<UInt64>.From(p0) ) },
|
|
615
|
|
616 #endregion
|
|
617
|
|
618 #endregion
|
|
619
|
|
620 #region Math
|
|
621
|
|
622 { M(() => Math.Abs ((Decimal)0)), L<Decimal,Decimal>(p => Sql.Abs(p).Value ) },
|
|
623 { M(() => Math.Abs ((Double) 0)), L<Double, Double> (p => Sql.Abs(p).Value ) },
|
|
624 { M(() => Math.Abs ((Int16) 0)), L<Int16, Int16> (p => Sql.Abs(p).Value ) },
|
|
625 { M(() => Math.Abs ((Int32) 0)), L<Int32, Int32> (p => Sql.Abs(p).Value ) },
|
|
626 { M(() => Math.Abs ((Int64) 0)), L<Int64, Int64> (p => Sql.Abs(p).Value ) },
|
|
627 { M(() => Math.Abs ((SByte) 0)), L<SByte, SByte> (p => Sql.Abs(p).Value ) },
|
|
628 { M(() => Math.Abs ((Single) 0)), L<Single, Single> (p => Sql.Abs(p).Value ) },
|
|
629
|
|
630 { M(() => Math.Acos (0) ), L<F,F> ( p => Sql.Acos (p) .Value ) },
|
|
631 { M(() => Math.Asin (0) ), L<F,F> ( p => Sql.Asin (p) .Value ) },
|
|
632 { M(() => Math.Atan (0) ), L<F,F> ( p => Sql.Atan (p) .Value ) },
|
|
633 { M(() => Math.Atan2 (0,0) ), L<F,F,F>((x,y) => Sql.Atan2 (x, y).Value ) },
|
|
634 #if !SILVERLIGHT
|
|
635 { M(() => Math.Ceiling((M)0)), L<M,M> ( p => Sql.Ceiling(p) .Value ) },
|
|
636 #endif
|
|
637 { M(() => Math.Ceiling((F)0)), L<F,F> ( p => Sql.Ceiling(p) .Value ) },
|
|
638 { M(() => Math.Cos (0) ), L<F,F> ( p => Sql.Cos (p) .Value ) },
|
|
639 { M(() => Math.Cosh (0) ), L<F,F> ( p => Sql.Cosh (p) .Value ) },
|
|
640 { M(() => Math.Exp (0) ), L<F,F> ( p => Sql.Exp (p) .Value ) },
|
|
641 #if !SILVERLIGHT
|
|
642 { M(() => Math.Floor ((M)0)), L<M,M> ( p => Sql.Floor (p) .Value ) },
|
|
643 #endif
|
|
644 { M(() => Math.Floor ((F)0)), L<F,F> ( p => Sql.Floor (p) .Value ) },
|
|
645 { M(() => Math.Log (0) ), L<F,F> ( p => Sql.Log (p) .Value ) },
|
|
646 { M(() => Math.Log (0,0) ), L<F,F,F>((m,n) => Sql.Log (n, m).Value ) },
|
|
647 { M(() => Math.Log10 (0) ), L<F,F> ( p => Sql.Log10 (p) .Value ) },
|
|
648
|
|
649 { M(() => Math.Max((Byte) 0, (Byte) 0)), L<Byte, Byte, Byte> ((v1,v2) => v1 > v2 ? v1 : v2) },
|
|
650 { M(() => Math.Max((Decimal)0, (Decimal)0)), L<Decimal,Decimal,Decimal>((v1,v2) => v1 > v2 ? v1 : v2) },
|
|
651 { M(() => Math.Max((Double) 0, (Double) 0)), L<Double, Double, Double> ((v1,v2) => v1 > v2 ? v1 : v2) },
|
|
652 { M(() => Math.Max((Int16) 0, (Int16) 0)), L<Int16, Int16, Int16> ((v1,v2) => v1 > v2 ? v1 : v2) },
|
|
653 { M(() => Math.Max((Int32) 0, (Int32) 0)), L<Int32, Int32, Int32> ((v1,v2) => v1 > v2 ? v1 : v2) },
|
|
654 { M(() => Math.Max((Int64) 0, (Int64) 0)), L<Int64, Int64, Int64> ((v1,v2) => v1 > v2 ? v1 : v2) },
|
|
655 { M(() => Math.Max((SByte) 0, (SByte) 0)), L<SByte, SByte, SByte> ((v1,v2) => v1 > v2 ? v1 : v2) },
|
|
656 { M(() => Math.Max((Single) 0, (Single) 0)), L<Single, Single, Single> ((v1,v2) => v1 > v2 ? v1 : v2) },
|
|
657 { M(() => Math.Max((UInt16) 0, (UInt16) 0)), L<UInt16, UInt16, UInt16> ((v1,v2) => v1 > v2 ? v1 : v2) },
|
|
658 { M(() => Math.Max((UInt32) 0, (UInt32) 0)), L<UInt32, UInt32, UInt32> ((v1,v2) => v1 > v2 ? v1 : v2) },
|
|
659 { M(() => Math.Max((UInt64) 0, (UInt64) 0)), L<UInt64, UInt64, UInt64> ((v1,v2) => v1 > v2 ? v1 : v2) },
|
|
660
|
|
661 { M(() => Math.Min((Byte) 0, (Byte) 0)), L<Byte, Byte, Byte> ((v1,v2) => v1 < v2 ? v1 : v2) },
|
|
662 { M(() => Math.Min((Decimal)0, (Decimal)0)), L<Decimal,Decimal,Decimal>((v1,v2) => v1 < v2 ? v1 : v2) },
|
|
663 { M(() => Math.Min((Double) 0, (Double) 0)), L<Double, Double, Double> ((v1,v2) => v1 < v2 ? v1 : v2) },
|
|
664 { M(() => Math.Min((Int16) 0, (Int16) 0)), L<Int16, Int16, Int16> ((v1,v2) => v1 < v2 ? v1 : v2) },
|
|
665 { M(() => Math.Min((Int32) 0, (Int32) 0)), L<Int32, Int32, Int32> ((v1,v2) => v1 < v2 ? v1 : v2) },
|
|
666 { M(() => Math.Min((Int64) 0, (Int64) 0)), L<Int64, Int64, Int64> ((v1,v2) => v1 < v2 ? v1 : v2) },
|
|
667 { M(() => Math.Min((SByte) 0, (SByte) 0)), L<SByte, SByte, SByte> ((v1,v2) => v1 < v2 ? v1 : v2) },
|
|
668 { M(() => Math.Min((Single) 0, (Single) 0)), L<Single, Single, Single> ((v1,v2) => v1 < v2 ? v1 : v2) },
|
|
669 { M(() => Math.Min((UInt16) 0, (UInt16) 0)), L<UInt16, UInt16, UInt16> ((v1,v2) => v1 < v2 ? v1 : v2) },
|
|
670 { M(() => Math.Min((UInt32) 0, (UInt32) 0)), L<UInt32, UInt32, UInt32> ((v1,v2) => v1 < v2 ? v1 : v2) },
|
|
671 { M(() => Math.Min((UInt64) 0, (UInt64) 0)), L<UInt64, UInt64, UInt64> ((v1,v2) => v1 < v2 ? v1 : v2) },
|
|
672
|
|
673 { M(() => Math.Pow (0,0)), L<F,F,F>((x,y) => Sql.Power(x, y).Value ) },
|
|
674
|
|
675 { M(() => Sql.Round (0m) ), L<M?,M?> ( d => Sql.Round(d, 0)) },
|
|
676 { M(() => Sql.Round (0.0) ), L<F?,F?> ( d => Sql.Round(d, 0)) },
|
|
677
|
|
678 { M(() => Sql.RoundToEven(0m) ), L<M?,M?> ( d => d - Sql.Floor(d) == 0.5m && Sql.Floor(d) % 2 == 0? Sql.Floor(d) : Sql.Round(d)) },
|
|
679 { M(() => Sql.RoundToEven(0.0) ), L<F?,F?> ( d => d - Sql.Floor(d) == 0.5 && Sql.Floor(d) % 2 == 0? Sql.Floor(d) : Sql.Round(d)) },
|
|
680
|
|
681 { M(() => Sql.RoundToEven(0m, 0)), L<M?,I?,M?>((d,n) => d * 2 == Sql.Round(d * 2, n) && d != Sql.Round(d, n) ? Sql.Round(d / 2, n) * 2 : Sql.Round(d, n)) },
|
|
682 { M(() => Sql.RoundToEven(0.0,0)), L<F?,I?,F?>((d,n) => d * 2 == Sql.Round(d * 2, n) && d != Sql.Round(d, n) ? Sql.Round(d / 2, n) * 2 : Sql.Round(d, n)) },
|
|
683
|
|
684 { M(() => Math.Round (0m) ), L<M,M> ( d => Sql.RoundToEven(d).Value ) },
|
|
685 { M(() => Math.Round (0.0) ), L<F,F> ( d => Sql.RoundToEven(d).Value ) },
|
|
686
|
|
687 { M(() => Math.Round (0m, 0)), L<M,I,M> ((d,n) => Sql.RoundToEven(d, n).Value ) },
|
|
688 { M(() => Math.Round (0.0,0)), L<F,I,F> ((d,n) => Sql.RoundToEven(d, n).Value ) },
|
|
689
|
|
690 #if !SILVERLIGHT
|
|
691 { M(() => Math.Round (0m, MidpointRounding.ToEven)), L<M, MidpointRounding,M>((d, p) => p == MidpointRounding.ToEven ? Sql.RoundToEven(d). Value : Sql.Round(d). Value ) },
|
|
692 { M(() => Math.Round (0.0, MidpointRounding.ToEven)), L<F, MidpointRounding,F>((d, p) => p == MidpointRounding.ToEven ? Sql.RoundToEven(d). Value : Sql.Round(d). Value ) },
|
|
693
|
|
694 { M(() => Math.Round (0m, 0, MidpointRounding.ToEven)), L<M,I,MidpointRounding,M>((d,n,p) => p == MidpointRounding.ToEven ? Sql.RoundToEven(d,n).Value : Sql.Round(d,n).Value ) },
|
|
695 { M(() => Math.Round (0.0,0, MidpointRounding.ToEven)), L<F,I,MidpointRounding,F>((d,n,p) => p == MidpointRounding.ToEven ? Sql.RoundToEven(d,n).Value : Sql.Round(d,n).Value ) },
|
|
696 #endif
|
|
697
|
|
698 { M(() => Math.Sign ((Decimal)0)), L<Decimal,I>(p => Sql.Sign(p).Value ) },
|
|
699 { M(() => Math.Sign ((Double) 0)), L<Double, I>(p => Sql.Sign(p).Value ) },
|
|
700 { M(() => Math.Sign ((Int16) 0)), L<Int16, I>(p => Sql.Sign(p).Value ) },
|
|
701 { M(() => Math.Sign ((Int32) 0)), L<Int32, I>(p => Sql.Sign(p).Value ) },
|
|
702 { M(() => Math.Sign ((Int64) 0)), L<Int64, I>(p => Sql.Sign(p).Value ) },
|
|
703 { M(() => Math.Sign ((SByte) 0)), L<SByte, I>(p => Sql.Sign(p).Value ) },
|
|
704 { M(() => Math.Sign ((Single) 0)), L<Single, I>(p => Sql.Sign(p).Value ) },
|
|
705
|
|
706 { M(() => Math.Sin (0)), L<F,F>( p => Sql.Sin (p).Value ) },
|
|
707 { M(() => Math.Sinh (0)), L<F,F>( p => Sql.Sinh(p).Value ) },
|
|
708 { M(() => Math.Sqrt (0)), L<F,F>( p => Sql.Sqrt(p).Value ) },
|
|
709 { M(() => Math.Tan (0)), L<F,F>( p => Sql.Tan (p).Value ) },
|
|
710 { M(() => Math.Tanh (0)), L<F,F>( p => Sql.Tanh(p).Value ) },
|
|
711
|
|
712 #if !SILVERLIGHT
|
|
713 { M(() => Math.Truncate(0m)), L<M,M>( p => Sql.Truncate(p).Value ) },
|
|
714 { M(() => Math.Truncate(0.0)), L<F,F>( p => Sql.Truncate(p).Value ) },
|
|
715 #endif
|
|
716
|
|
717 #endregion
|
|
718
|
|
719 #region Visual Basic Compiler Services
|
|
720
|
|
721 //#if !SILVERLIGHT
|
|
722 // { M(() => Operators.CompareString("","",false)), L<S,S,B,I>((s1,s2,b) => b ? string.CompareOrdinal(s1.ToUpper(), s2.ToUpper()) : string.CompareOrdinal(s1, s2)) },
|
|
723 //#endif
|
|
724
|
|
725 #endregion
|
|
726
|
|
727 }},
|
|
728
|
|
729 #region MsSql2012
|
|
730
|
|
731 { "MsSql2012", new Dictionary<MemberInfo,LambdaExpression> {
|
|
732 { M(() => Sql.PadRight("",0,' ')), L<S,I?,C,S> ((p0,p1,p2) => p0.Length > p1 ? p0 : p0 + Replicate(p2, p1 - p0.Length)) },
|
|
733 { M(() => Sql.PadLeft ("",0,' ')), L<S,I?,C,S> ((p0,p1,p2) => p0.Length > p1 ? p0 : Replicate(p2, p1 - p0.Length) + p0) },
|
|
734 { M(() => Sql.Trim ("") ), L<S,S> ( p0 => Sql.TrimLeft(Sql.TrimRight(p0))) },
|
|
735 { M(() => Sql.MakeDateTime(0,0,0)), L<I?,I?,I?,D?>((y,m,d) => DateAdd(Sql.DateParts.Month, (y.Value - 1900) * 12 + m.Value - 1, d.Value - 1)) },
|
|
736
|
|
737 { M(() => Sql.Cosh(0) ), L<F?,F?> ( v => (Sql.Exp(v) + Sql.Exp(-v)) / 2) },
|
|
738 { M(() => Sql.Log(0m, 0)), L<M?,M?,M?>((m,n) => Sql.Log(n) / Sql.Log(m)) },
|
|
739 { M(() => Sql.Log(0.0,0)), L<F?,F?,F?>((m,n) => Sql.Log(n) / Sql.Log(m)) },
|
|
740 { M(() => Sql.Sinh(0) ), L<F?,F?> ( v => (Sql.Exp(v) - Sql.Exp(-v)) / 2) },
|
|
741 { M(() => Sql.Tanh(0) ), L<F?,F?> ( v => (Sql.Exp(v) - Sql.Exp(-v)) / (Sql.Exp(v) + Sql.Exp(-v))) },
|
|
742 }},
|
|
743
|
|
744 #endregion
|
|
745
|
|
746 #region MsSql2008
|
|
747
|
|
748 { "MsSql2008", new Dictionary<MemberInfo,LambdaExpression> {
|
|
749 { M(() => Sql.PadRight("",0,' ')), L<S,I?,C,S> ((p0,p1,p2) => p0.Length > p1 ? p0 : p0 + Replicate(p2, p1 - p0.Length)) },
|
|
750 { M(() => Sql.PadLeft ("",0,' ')), L<S,I?,C,S> ((p0,p1,p2) => p0.Length > p1 ? p0 : Replicate(p2, p1 - p0.Length) + p0) },
|
|
751 { M(() => Sql.Trim ("") ), L<S,S> ( p0 => Sql.TrimLeft(Sql.TrimRight(p0))) },
|
|
752 { M(() => Sql.MakeDateTime(0,0,0)), L<I?,I?,I?,D?>((y,m,d) => DateAdd(Sql.DateParts.Month, (y.Value - 1900) * 12 + m.Value - 1, d.Value - 1)) },
|
|
753
|
|
754 { M(() => Sql.Cosh(0) ), L<F?,F?> ( v => (Sql.Exp(v) + Sql.Exp(-v)) / 2) },
|
|
755 { M(() => Sql.Log(0m, 0)), L<M?,M?,M?>((m,n) => Sql.Log(n) / Sql.Log(m)) },
|
|
756 { M(() => Sql.Log(0.0,0)), L<F?,F?,F?>((m,n) => Sql.Log(n) / Sql.Log(m)) },
|
|
757 { M(() => Sql.Sinh(0) ), L<F?,F?> ( v => (Sql.Exp(v) - Sql.Exp(-v)) / 2) },
|
|
758 { M(() => Sql.Tanh(0) ), L<F?,F?> ( v => (Sql.Exp(v) - Sql.Exp(-v)) / (Sql.Exp(v) + Sql.Exp(-v))) },
|
|
759 }},
|
|
760
|
|
761 #endregion
|
|
762
|
|
763 #region MsSql2000
|
|
764
|
|
765 { "MsSql2000", new Dictionary<MemberInfo,LambdaExpression> {
|
|
766 { M(() => Sql.PadRight("",0,' ')), L<S,I?,C,S> ((p0,p1,p2) => p0.Length > p1 ? p0 : p0 + Replicate(p2, p1 - p0.Length)) },
|
|
767 { M(() => Sql.PadLeft ("",0,' ')), L<S,I?,C,S> ((p0,p1,p2) => p0.Length > p1 ? p0 : Replicate(p2, p1 - p0.Length) + p0) },
|
|
768 { M(() => Sql.Trim ("") ), L<S,S> ( p0 => Sql.TrimLeft(Sql.TrimRight(p0))) },
|
|
769 { M(() => Sql.MakeDateTime(0,0,0)), L<I?,I?,I?,D?>((y,m,d) => DateAdd(Sql.DateParts.Month, (y.Value - 1900) * 12 + m.Value - 1, d.Value - 1)) },
|
|
770 { M(() => Sql.MakeDateTime(0, 0, 0, 0, 0, 0) ), L<I?,I?,I?,I?,I?,I?,D?>((y,m,d,h,mm,s) => Sql.Convert(Sql.DateTime2,
|
|
771 y.ToString() + "-" + m.ToString() + "-" + d.ToString() + " " +
|
|
772 h.ToString() + ":" + mm.ToString() + ":" + s.ToString(), 120)) },
|
|
773 { M(() => Sql.Cosh(0) ), L<F?,F?> ( v => (Sql.Exp(v) + Sql.Exp(-v)) / 2) },
|
|
774 { M(() => Sql.Log(0m, 0)), L<M?,M?,M?>((m,n) => Sql.Log(n) / Sql.Log(m)) },
|
|
775 { M(() => Sql.Log(0.0,0)), L<F?,F?,F?>((m,n) => Sql.Log(n) / Sql.Log(m)) },
|
|
776 { M(() => Sql.Sinh(0) ), L<F?,F?> ( v => (Sql.Exp(v) - Sql.Exp(-v)) / 2) },
|
|
777 { M(() => Sql.Tanh(0) ), L<F?,F?> ( v => (Sql.Exp(v) - Sql.Exp(-v)) / (Sql.Exp(v) + Sql.Exp(-v))) },
|
|
778
|
|
779 { M(() => DateTime.Parse("")), L<String,DateTime>(p0 => Sql.ConvertTo<DateTime>.From(p0) ) },
|
|
780 { M(() => Sql.RoundToEven(0m) ), L<M?,M?>(d => d - Sql.Floor(d) == 0.5m && (long)Sql.Floor(d) % 2 == 0? Sql.Floor(d) : Sql.Round(d)) },
|
|
781 { M(() => Sql.RoundToEven(0.0)), L<F?,F?>(d => d - Sql.Floor(d) == 0.5 && (long)Sql.Floor(d) % 2 == 0? Sql.Floor(d) : Sql.Round(d)) },
|
|
782
|
|
783 }},
|
|
784
|
|
785 #endregion
|
|
786
|
|
787 #region MsSql2005
|
|
788
|
|
789 { "MsSql2005", new Dictionary<MemberInfo,LambdaExpression> {
|
|
790 { M(() => Sql.PadRight("",0,' ')), L<S,I?,C,S> ((p0,p1,p2) => p0.Length > p1 ? p0 : p0 + Replicate(p2, p1 - p0.Length)) },
|
|
791 { M(() => Sql.PadLeft ("",0,' ')), L<S,I?,C,S> ((p0,p1,p2) => p0.Length > p1 ? p0 : Replicate(p2, p1 - p0.Length) + p0) },
|
|
792 { M(() => Sql.Trim ("") ), L<S,S> ( p0 => Sql.TrimLeft(Sql.TrimRight(p0))) },
|
|
793 { M(() => Sql.MakeDateTime(0,0,0)), L<I?,I?,I?,D?>((y,m,d) => DateAdd(Sql.DateParts.Month, (y.Value - 1900) * 12 + m.Value - 1, d.Value - 1)) },
|
|
794 { M(() => Sql.MakeDateTime(0, 0, 0, 0, 0, 0) ), L<I?,I?,I?,I?,I?,I?,D?>((y,m,d,h,mm,s) => Sql.Convert(Sql.DateTime2,
|
|
795 y.ToString() + "-" + m.ToString() + "-" + d.ToString() + " " +
|
|
796 h.ToString() + ":" + mm.ToString() + ":" + s.ToString(), 120)) },
|
|
797 { M(() => Sql.Cosh(0) ), L<F?,F?> ( v => (Sql.Exp(v) + Sql.Exp(-v)) / 2) },
|
|
798 { M(() => Sql.Log(0m, 0)), L<M?,M?,M?>((m,n) => Sql.Log(n) / Sql.Log(m)) },
|
|
799 { M(() => Sql.Log(0.0,0)), L<F?,F?,F?>((m,n) => Sql.Log(n) / Sql.Log(m)) },
|
|
800 { M(() => Sql.Sinh(0) ), L<F?,F?> ( v => (Sql.Exp(v) - Sql.Exp(-v)) / 2) },
|
|
801 { M(() => Sql.Tanh(0) ), L<F?,F?> ( v => (Sql.Exp(v) - Sql.Exp(-v)) / (Sql.Exp(v) + Sql.Exp(-v))) },
|
|
802
|
|
803 { M(() => DateTime.Parse("")), L<String,DateTime>(p0 => Sql.ConvertTo<DateTime>.From(p0) ) },
|
|
804 }},
|
|
805
|
|
806 #endregion
|
|
807
|
|
808 #region SqlCe
|
|
809
|
|
810 { "SqlCe", new Dictionary<MemberInfo,LambdaExpression> {
|
|
811 { M(() => Sql.Left ("",0) ), L<S,I?,S> ((p0,p1) => Sql.Substring(p0, 1, p1)) },
|
|
812 { M(() => Sql.Right ("",0) ), L<S,I?,S> ((p0,p1) => Sql.Substring(p0, p0.Length - p1 + 1, p1)) },
|
|
813 { M(() => Sql.PadRight("",0,' ')), L<S,I?,C?,S>((p0,p1,p2) => p0.Length > p1 ? p0 : p0 + Replicate(p2, p1 - p0.Length)) },
|
|
814 { M(() => Sql.PadLeft ("",0,' ')), L<S,I?,C?,S>((p0,p1,p2) => p0.Length > p1 ? p0 : Replicate(p2, p1 - p0.Length) + p0) },
|
|
815 { M(() => Sql.Trim ("") ), L<S,S> ( p0 => Sql.TrimLeft(Sql.TrimRight(p0))) },
|
|
816
|
|
817 { M(() => Sql.Cosh(0) ), L<F?,F?> ( v => (Sql.Exp(v) + Sql.Exp(-v)) / 2) },
|
|
818 { M(() => Sql.Log (0m, 0)), L<M?,M?,M?>((m,n) => Sql.Log(n) / Sql.Log(m)) },
|
|
819 { M(() => Sql.Log (0.0,0)), L<F?,F?,F?>((m,n) => Sql.Log(n) / Sql.Log(m)) },
|
|
820 { M(() => Sql.Sinh(0) ), L<F?,F?> ( v => (Sql.Exp(v) - Sql.Exp(-v)) / 2) },
|
|
821 { M(() => Sql.Tanh(0) ), L<F?,F?> ( v => (Sql.Exp(v) - Sql.Exp(-v)) / (Sql.Exp(v) + Sql.Exp(-v))) },
|
|
822 }},
|
|
823
|
|
824 #endregion
|
|
825
|
|
826 #region DB2
|
|
827
|
|
828 { "DB2", new Dictionary<MemberInfo,LambdaExpression> {
|
|
829 { M(() => Sql.Space (0) ), L<I?,S> ( p0 => Sql.Convert(Sql.VarChar(1000), Replicate(" ", p0))) },
|
|
830 { M(() => Sql.Stuff ("",0,0,"")), L<S,I?,I?,S,S>((p0,p1,p2,p3) => AltStuff(p0, p1, p2, p3)) },
|
|
831 { M(() => Sql.PadRight("",0,' ') ), L<S,I?,C?,S> ((p0,p1,p2) => p0.Length > p1 ? p0 : p0 + VarChar(Replicate(p2, p1 - p0.Length), 1000)) },
|
|
832 { M(() => Sql.PadLeft ("",0,' ') ), L<S,I?,C?,S> ((p0,p1,p2) => p0.Length > p1 ? p0 : VarChar(Replicate(p2, p1 - p0.Length), 1000) + p0) },
|
|
833
|
|
834 { M(() => Sql.ConvertTo<String>.From((Decimal)0)), L<Decimal,S>(p => Sql.TrimLeft(Sql.Convert<string,Decimal>(p), '0')) },
|
|
835 { M(() => Sql.ConvertTo<String>.From(Guid.Empty)), L<Guid, S>(p => Sql.Lower(
|
|
836 Sql.Substring(Hex(p), 7, 2) + Sql.Substring(Hex(p), 5, 2) + Sql.Substring(Hex(p), 3, 2) + Sql.Substring(Hex(p), 1, 2) + "-" +
|
|
837 Sql.Substring(Hex(p), 11, 2) + Sql.Substring(Hex(p), 9, 2) + "-" +
|
|
838 Sql.Substring(Hex(p), 15, 2) + Sql.Substring(Hex(p), 13, 2) + "-" +
|
|
839 Sql.Substring(Hex(p), 17, 4) + "-" +
|
|
840 Sql.Substring(Hex(p), 21, 12))) },
|
|
841
|
|
842 { M(() => Sql.Log(0m, 0)), L<M?,M?,M?>((m,n) => Sql.Log(n) / Sql.Log(m)) },
|
|
843 { M(() => Sql.Log(0.0,0)), L<F?,F?,F?>((m,n) => Sql.Log(n) / Sql.Log(m)) },
|
|
844 }},
|
|
845
|
|
846 #endregion
|
|
847
|
|
848 #region Informix
|
|
849
|
|
850 { "Informix", new Dictionary<MemberInfo,LambdaExpression> {
|
|
851 { M(() => Sql.Left ("",0) ), L<S,I?,S> ((p0,p1) => Sql.Substring(p0, 1, p1)) },
|
|
852 { M(() => Sql.Right("",0) ), L<S,I?,S> ((p0,p1) => Sql.Substring(p0, p0.Length - p1 + 1, p1)) },
|
|
853 { M(() => Sql.Stuff("",0,0,"")), L<S,I?,I?,S,S>((p0,p1,p2,p3) => AltStuff (p0, p1, p2, p3)) },
|
|
854 { M(() => Sql.Space(0) ), L<I?,S> ( p0 => Sql.PadRight (" ", p0, ' ')) },
|
|
855
|
|
856 { M(() => Sql.MakeDateTime(0,0,0)), L<I?,I?,I?,D?>((y,m,d) => Mdy(m, d, y)) },
|
|
857
|
|
858 { M(() => Sql.Cot (0) ), L<F?,F?> ( v => Sql.Cos(v) / Sql.Sin(v) ) },
|
|
859 { M(() => Sql.Cosh(0) ), L<F?,F?> ( v => (Sql.Exp(v) + Sql.Exp(-v)) / 2 ) },
|
|
860
|
|
861 { M(() => Sql.Degrees((Decimal?)0)), L<Decimal?,Decimal?>( v => (Decimal?)(v.Value * (180 / (Decimal)Math.PI))) },
|
|
862 { M(() => Sql.Degrees((Double?) 0)), L<Double?, Double?> ( v => (Double?) (v.Value * (180 / Math.PI))) },
|
|
863 { M(() => Sql.Degrees((Int16?) 0)), L<Int16?, Int16?> ( v => (Int16?) (v.Value * (180 / Math.PI))) },
|
|
864 { M(() => Sql.Degrees((Int32?) 0)), L<Int32?, Int32?> ( v => (Int32?) (v.Value * (180 / Math.PI))) },
|
|
865 { M(() => Sql.Degrees((Int64?) 0)), L<Int64?, Int64?> ( v => (Int64?) (v.Value * (180 / Math.PI))) },
|
|
866 { M(() => Sql.Degrees((SByte?) 0)), L<SByte?, SByte?> ( v => (SByte?) (v.Value * (180 / Math.PI))) },
|
|
867 { M(() => Sql.Degrees((Single?) 0)), L<Single?, Single?> ( v => (Single?) (v.Value * (180 / Math.PI))) },
|
|
868
|
|
869 { M(() => Sql.Log(0m, 0)), L<M?,M?,M?>((m,n) => Sql.Log(n) / Sql.Log(m)) },
|
|
870 { M(() => Sql.Log(0.0,0)), L<F?,F?,F?>((m,n) => Sql.Log(n) / Sql.Log(m)) },
|
|
871
|
|
872 { M(() => Sql.Sign((Decimal?)0)), L<Decimal?,I?>(p => p > 0 ? 1 : p < 0 ? -1 : 0 ) },
|
|
873 { M(() => Sql.Sign((Double?) 0)), L<Double?, I?>(p => p > 0 ? 1 : p < 0 ? -1 : 0 ) },
|
|
874 { M(() => Sql.Sign((Int16?) 0)), L<Int16?, I?>(p => p > 0 ? 1 : p < 0 ? -1 : 0 ) },
|
|
875 { M(() => Sql.Sign((Int32?) 0)), L<Int32?, I?>(p => p > 0 ? 1 : p < 0 ? -1 : 0 ) },
|
|
876 { M(() => Sql.Sign((Int64?) 0)), L<Int64?, I?>(p => p > 0 ? 1 : p < 0 ? -1 : 0 ) },
|
|
877 { M(() => Sql.Sign((SByte?) 0)), L<SByte?, I?>(p => p > 0 ? 1 : p < 0 ? -1 : 0 ) },
|
|
878 { M(() => Sql.Sign((Single?) 0)), L<Single?, I?>(p => p > 0 ? 1 : p < 0 ? -1 : 0 ) },
|
|
879
|
|
880 { M(() => Sql.Sinh(0)), L<F?,F?>( v => (Sql.Exp(v) - Sql.Exp(-v)) / 2) },
|
|
881 { M(() => Sql.Tanh(0)), L<F?,F?>( v => (Sql.Exp(v) - Sql.Exp(-v)) / (Sql.Exp(v) +Sql.Exp(-v))) },
|
|
882 }},
|
|
883
|
|
884 #endregion
|
|
885
|
|
886 #region Oracle
|
|
887
|
|
888 { "Oracle", new Dictionary<MemberInfo,LambdaExpression> {
|
|
889 { M(() => Sql.Left ("",0) ), L<S,I?,S> ((p0,p1) => Sql.Substring(p0, 1, p1)) },
|
|
890 { M(() => Sql.Right("",0) ), L<S,I?,S> ((p0,p1) => Sql.Substring(p0, p0.Length - p1 + 1, p1)) },
|
|
891 { M(() => Sql.Stuff("",0,0,"")), L<S,I?,I?,S,S>((p0,p1,p2,p3) => AltStuff(p0, p1, p2, p3)) },
|
|
892 { M(() => Sql.Space(0) ), L<I?,S> ( p0 => Sql.PadRight(" ", p0, ' ')) },
|
|
893
|
|
894 { M(() => Sql.ConvertTo<String>.From(Guid.Empty)), L<Guid,S>(p => Sql.Lower(
|
|
895 Sql.Substring(Sql.Convert2(Sql.Char(36), p), 7, 2) + Sql.Substring(Sql.Convert2(Sql.Char(36), p), 5, 2) + Sql.Substring(Sql.Convert2(Sql.Char(36), p), 3, 2) + Sql.Substring(Sql.Convert2(Sql.Char(36), p), 1, 2) + "-" +
|
|
896 Sql.Substring(Sql.Convert2(Sql.Char(36), p), 11, 2) + Sql.Substring(Sql.Convert2(Sql.Char(36), p), 9, 2) + "-" +
|
|
897 Sql.Substring(Sql.Convert2(Sql.Char(36), p), 15, 2) + Sql.Substring(Sql.Convert2(Sql.Char(36), p), 13, 2) + "-" +
|
|
898 Sql.Substring(Sql.Convert2(Sql.Char(36), p), 17, 4) + "-" +
|
|
899 Sql.Substring(Sql.Convert2(Sql.Char(36), p), 21, 12))) },
|
|
900
|
|
901 { M(() => Sql.Cot (0)), L<F?,F?>(v => Sql.Cos(v) / Sql.Sin(v) ) },
|
|
902 { M(() => Sql.Log10(0.0)), L<F?,F?>(v => Sql.Log(10, v) ) },
|
|
903
|
|
904 { M(() => Sql.Degrees((Decimal?)0)), L<Decimal?,Decimal?>( v => (Decimal?)(v.Value * (180 / (Decimal)Math.PI))) },
|
|
905 { M(() => Sql.Degrees((Double?) 0)), L<Double?, Double?> ( v => (Double?) (v.Value * (180 / Math.PI))) },
|
|
906 { M(() => Sql.Degrees((Int16?) 0)), L<Int16?, Int16?> ( v => (Int16?) (v.Value * (180 / Math.PI))) },
|
|
907 { M(() => Sql.Degrees((Int32?) 0)), L<Int32?, Int32?> ( v => (Int32?) (v.Value * (180 / Math.PI))) },
|
|
908 { M(() => Sql.Degrees((Int64?) 0)), L<Int64?, Int64?> ( v => (Int64?) (v.Value * (180 / Math.PI))) },
|
|
909 { M(() => Sql.Degrees((SByte?) 0)), L<SByte?, SByte?> ( v => (SByte?) (v.Value * (180 / Math.PI))) },
|
|
910 { M(() => Sql.Degrees((Single?) 0)), L<Single?, Single?> ( v => (Single?) (v.Value * (180 / Math.PI))) },
|
|
911 }},
|
|
912
|
|
913 #endregion
|
|
914
|
|
915 #region Firebird
|
|
916
|
|
917 { "Firebird", new Dictionary<MemberInfo,LambdaExpression> {
|
|
918 { M<S>(_ => Sql.Space(0 )), L<I?,S> ( p0 => Sql.PadRight(" ", p0, ' ')) },
|
|
919 { M<S>(s => Sql.Stuff(s, 0, 0, s)), L<S,I?,I?,S,S>((p0,p1,p2,p3) => AltStuff(p0, p1, p2, p3)) },
|
|
920
|
|
921 { M(() => Sql.Degrees((Decimal?)0)), L<Decimal?,Decimal?>( v => (Decimal?)(v.Value * 180 / DecimalPI())) },
|
|
922 { M(() => Sql.Degrees((Double?) 0)), L<Double?, Double?> ( v => (Double?) (v.Value * (180 / Math.PI))) },
|
|
923 { M(() => Sql.Degrees((Int16?) 0)), L<Int16?, Int16?> ( v => (Int16?) (v.Value * (180 / Math.PI))) },
|
|
924 { M(() => Sql.Degrees((Int32?) 0)), L<Int32?, Int32?> ( v => (Int32?) (v.Value * (180 / Math.PI))) },
|
|
925 { M(() => Sql.Degrees((Int64?) 0)), L<Int64?, Int64?> ( v => (Int64?) (v.Value * (180 / Math.PI))) },
|
|
926 { M(() => Sql.Degrees((SByte?) 0)), L<SByte?, SByte?> ( v => (SByte?) (v.Value * (180 / Math.PI))) },
|
|
927 { M(() => Sql.Degrees((Single?) 0)), L<Single?, Single?> ( v => (Single?) (v.Value * (180 / Math.PI))) },
|
|
928
|
|
929 { M(() => Sql.RoundToEven(0.0) ), L<F?,F?> ( v => (double)Sql.RoundToEven((decimal)v)) },
|
|
930 { M(() => Sql.RoundToEven(0.0,0)), L<F?,I?,F?>((v,p) => (double)Sql.RoundToEven((decimal)v, p)) },
|
|
931 }},
|
|
932
|
|
933 #endregion
|
|
934
|
|
935 #region MySql
|
|
936
|
|
937 { "MySql", new Dictionary<MemberInfo,LambdaExpression> {
|
|
938 { M<S>(s => Sql.Stuff(s, 0, 0, s)), L<S,I?,I?,S,S>((p0,p1,p2,p3) => AltStuff(p0, p1, p2, p3)) },
|
|
939
|
|
940 { M(() => Sql.Cosh(0)), L<F?,F?>(v => (Sql.Exp(v) + Sql.Exp(-v)) / 2) },
|
|
941 { M(() => Sql.Sinh(0)), L<F?,F?>(v => (Sql.Exp(v) - Sql.Exp(-v)) / 2) },
|
|
942 { M(() => Sql.Tanh(0)), L<F?,F?>(v => (Sql.Exp(v) - Sql.Exp(-v)) / (Sql.Exp(v) + Sql.Exp(-v))) },
|
|
943 }},
|
|
944
|
|
945 #endregion
|
|
946
|
|
947 #region PostgreSQL
|
|
948
|
|
949 { "PostgreSQL", new Dictionary<MemberInfo,LambdaExpression> {
|
|
950 { M(() => Sql.Left ("",0) ), L<S,I?,S> ((p0,p1) => Sql.Substring(p0, 1, p1)) },
|
|
951 { M(() => Sql.Right("",0) ), L<S,I?,S> ((p0,p1) => Sql.Substring(p0, p0.Length - p1 + 1, p1)) },
|
|
952 { M(() => Sql.Stuff("",0,0,"")), L<S,I?,I?,S,S>((p0,p1,p2,p3) => AltStuff(p0, p1, p2, p3)) },
|
|
953 { M(() => Sql.Space(0) ), L<I?,S> ( p0 => Replicate(" ", p0)) },
|
|
954
|
|
955 { M(() => Sql.Cosh(0) ), L<F?,F?> ( v => (Sql.Exp(v) + Sql.Exp(-v)) / 2 ) },
|
|
956 { M(() => Sql.Round (0.0,0)), L<F?,I?,F?> ((v,p) => (double)Sql.Round ((decimal)v, p)) },
|
|
957 { M(() => Sql.RoundToEven(0.0) ), L<F?,F?> ( v => (double)Sql.RoundToEven((decimal)v)) },
|
|
958 { M(() => Sql.RoundToEven(0.0,0)), L<F?,I?,F?> ((v,p) => (double)Sql.RoundToEven((decimal)v, p)) },
|
|
959
|
|
960 { M(() => Sql.Log ((double)0,0)), L<F?,F?,F?> ((m,n) => (F?)Sql.Log((M)m,(M)n).Value ) },
|
|
961 { M(() => Sql.Sinh (0) ), L<F?,F?> ( v => (Sql.Exp(v) - Sql.Exp(-v)) / 2) },
|
|
962 { M(() => Sql.Tanh (0) ), L<F?,F?> ( v => (Sql.Exp(v) - Sql.Exp(-v)) / (Sql.Exp(v) + Sql.Exp(-v))) },
|
|
963
|
|
964 { M(() => Sql.Truncate(0.0) ), L<F?,F?> ( v => (double)Sql.Truncate((decimal)v)) },
|
|
965 }},
|
|
966
|
|
967 #endregion
|
|
968
|
|
969 #region SQLite
|
|
970
|
|
971 { "SQLite", new Dictionary<MemberInfo,LambdaExpression> {
|
|
972 { M(() => Sql.Stuff ("",0,0,"")), L<S,I?,I?,S,S>((p0,p1,p2,p3) => AltStuff(p0, p1, p2, p3)) },
|
|
973 { M(() => Sql.PadRight("",0,' ') ), L<S,I?,C?,S> ((p0,p1,p2) => p0.Length > p1 ? p0 : p0 + Replicate(p2, p1 - p0.Length)) },
|
|
974 { M(() => Sql.PadLeft ("",0,' ') ), L<S,I?,C?,S> ((p0,p1,p2) => p0.Length > p1 ? p0 : Replicate(p2, p1 - p0.Length) + p0) },
|
|
975
|
|
976 { M(() => Sql.MakeDateTime(0, 0, 0)), L<I?,I?,I?,D?>((y,m,d) => Sql.Convert(Sql.Date,
|
|
977 y.ToString() + "-" +
|
|
978 (m.ToString().Length == 1 ? "0" + m.ToString() : m.ToString()) + "-" +
|
|
979 (d.ToString().Length == 1 ? "0" + d.ToString() : d.ToString()))) },
|
|
980
|
|
981 { M(() => Sql.MakeDateTime(0, 0, 0, 0, 0, 0)), L<I?,I?,I?,I?,I?,I?,D?>((y,m,d,h,i,s) => Sql.Convert(Sql.DateTime2,
|
|
982 y.ToString() + "-" +
|
|
983 (m.ToString().Length == 1 ? "0" + m.ToString() : m.ToString()) + "-" +
|
|
984 (d.ToString().Length == 1 ? "0" + d.ToString() : d.ToString()) + " " +
|
|
985 (h.ToString().Length == 1 ? "0" + h.ToString() : h.ToString()) + ":" +
|
|
986 (i.ToString().Length == 1 ? "0" + i.ToString() : i.ToString()) + ":" +
|
|
987 (s.ToString().Length == 1 ? "0" + s.ToString() : s.ToString()))) },
|
|
988
|
|
989 { M(() => Sql.ConvertTo<String>.From(Guid.Empty)), L<Guid,S>(p => Sql.Lower(
|
|
990 Sql.Substring(Hex(p), 7, 2) + Sql.Substring(Hex(p), 5, 2) + Sql.Substring(Hex(p), 3, 2) + Sql.Substring(Hex(p), 1, 2) + "-" +
|
|
991 Sql.Substring(Hex(p), 11, 2) + Sql.Substring(Hex(p), 9, 2) + "-" +
|
|
992 Sql.Substring(Hex(p), 15, 2) + Sql.Substring(Hex(p), 13, 2) + "-" +
|
|
993 Sql.Substring(Hex(p), 17, 4) + "-" +
|
|
994 Sql.Substring(Hex(p), 21, 12))) },
|
|
995
|
|
996 { M(() => Sql.Log (0m, 0)), L<M?,M?,M?>((m,n) => Sql.Log(n) / Sql.Log(m)) },
|
|
997 { M(() => Sql.Log (0.0,0)), L<F?,F?,F?>((m,n) => Sql.Log(n) / Sql.Log(m)) },
|
|
998
|
|
999 { M(() => Sql.Truncate(0m)), L<M?,M?>( v => v >= 0 ? Sql.Floor(v) : Sql.Ceiling(v)) },
|
|
1000 { M(() => Sql.Truncate(0.0)), L<F?,F?>( v => v >= 0 ? Sql.Floor(v) : Sql.Ceiling(v)) },
|
|
1001 }},
|
|
1002
|
|
1003 #endregion
|
|
1004
|
|
1005 #region Sybase
|
|
1006
|
|
1007 { "Sybase", new Dictionary<MemberInfo,LambdaExpression> {
|
|
1008 { M(() => Sql.PadRight("",0,' ')), L<S,I?,C?,S>((p0,p1,p2) => p0.Length > p1 ? p0 : p0 + Replicate(p2, p1 - p0.Length)) },
|
|
1009 { M(() => Sql.PadLeft ("",0,' ')), L<S,I?,C?,S>((p0,p1,p2) => p0.Length > p1 ? p0 : Replicate(p2, p1 - p0.Length) + p0) },
|
|
1010 { M(() => Sql.Trim ("") ), L<S,S> ( p0 => Sql.TrimLeft(Sql.TrimRight(p0))) },
|
|
1011
|
|
1012 { M(() => Sql.Cosh(0) ), L<F?,F?> ( v => (Sql.Exp(v) + Sql.Exp(-v)) / 2) },
|
|
1013 { M(() => Sql.Log (0m, 0)), L<M?,M?,M?>((m,n) => Sql.Log(n) / Sql.Log(m)) },
|
|
1014 { M(() => Sql.Log (0.0,0)), L<F?,F?,F?>((m,n) => Sql.Log(n) / Sql.Log(m)) },
|
|
1015
|
|
1016 { M(() => Sql.Degrees((Decimal?)0)), L<Decimal?,Decimal?>( v => (Decimal?)(v.Value * (180 / (Decimal)Math.PI))) },
|
|
1017 { M(() => Sql.Degrees((Double?) 0)), L<Double?, Double?> ( v => (Double?) (v.Value * (180 / Math.PI))) },
|
|
1018 { M(() => Sql.Degrees((Int16?) 0)), L<Int16?, Int16?> ( v => (Int16?) (v.Value * (180 / Math.PI))) },
|
|
1019 { M(() => Sql.Degrees((Int32?) 0)), L<Int32?, Int32?> ( v => (Int32?) (v.Value * (180 / Math.PI))) },
|
|
1020 { M(() => Sql.Degrees((Int64?) 0)), L<Int64?, Int64?> ( v => (Int64?) (v.Value * (180 / Math.PI))) },
|
|
1021 { M(() => Sql.Degrees((SByte?) 0)), L<SByte?, SByte?> ( v => (SByte?) (v.Value * (180 / Math.PI))) },
|
|
1022 { M(() => Sql.Degrees((Single?) 0)), L<Single?, Single?> ( v => (Single?) (v.Value * (180 / Math.PI))) },
|
|
1023
|
|
1024 { M(() => Sql.Sinh(0)), L<F?,F?>( v => (Sql.Exp(v) - Sql.Exp(-v)) / 2) },
|
|
1025 { M(() => Sql.Tanh(0)), L<F?,F?>( v => (Sql.Exp(v) - Sql.Exp(-v)) / (Sql.Exp(v) + Sql.Exp(-v))) },
|
|
1026
|
|
1027 { M(() => Sql.Truncate(0m)), L<M?,M?>( v => v >= 0 ? Sql.Floor(v) : Sql.Ceiling(v)) },
|
|
1028 { M(() => Sql.Truncate(0.0)), L<F?,F?>( v => v >= 0 ? Sql.Floor(v) : Sql.Ceiling(v)) },
|
|
1029 }},
|
|
1030
|
|
1031 #endregion
|
|
1032
|
|
1033 #region Access
|
|
1034
|
|
1035 { "Access", new Dictionary<MemberInfo,LambdaExpression> {
|
|
1036 { M(() => Sql.Stuff ("",0,0,"")), L<S,I?,I?,S,S>((p0,p1,p2,p3) => AltStuff(p0, p1, p2, p3)) },
|
|
1037 { M(() => Sql.PadRight("",0,' ') ), L<S,I?,C?,S> ((p0,p1,p2) => p0.Length > p1 ? p0 : p0 + Replicate(p2, p1 - p0.Length)) },
|
|
1038 { M(() => Sql.PadLeft ("",0,' ') ), L<S,I?,C?,S> ((p0,p1,p2) => p0.Length > p1 ? p0 : Replicate(p2, p1 - p0.Length) + p0) },
|
|
1039 { M(() => Sql.MakeDateTime(0,0,0)), L<I?,I?,I?,D?>((y,m,d) => MakeDateTime2(y, m, d)) },
|
|
1040
|
|
1041 { M(() => Sql.ConvertTo<String>.From(Guid.Empty)), L<Guid,S>(p => Sql.Lower(Sql.Substring(p.ToString(), 2, 36))) },
|
|
1042
|
|
1043 { M(() => Sql.Ceiling((Decimal)0)), L<Decimal?,Decimal?>(p => -Sql.Floor(-p) ) },
|
|
1044 { M(() => Sql.Ceiling((Double) 0)), L<Double?, Double?> (p => -Sql.Floor(-p) ) },
|
|
1045
|
|
1046 { M(() => Sql.Cot (0) ), L<F?,F?> ( v => Sql.Cos(v) / Sql.Sin(v) ) },
|
|
1047 { M(() => Sql.Cosh (0) ), L<F?,F?> ( v => (Sql.Exp(v) + Sql.Exp(-v)) / 2) },
|
|
1048 { M(() => Sql.Log (0m, 0)), L<M?,M?,M?>((m,n) => Sql.Log(n) / Sql.Log(m) ) },
|
|
1049 { M(() => Sql.Log (0.0,0)), L<F?,F?,F?>((m,n) => Sql.Log(n) / Sql.Log(m) ) },
|
|
1050 { M(() => Sql.Log10(0.0) ), L<F?,F?> ( n => Sql.Log(n) / Sql.Log(10.0) ) },
|
|
1051
|
|
1052 { M(() => Sql.Degrees((Decimal?)0)), L<Decimal?,Decimal?>( v => (Decimal?) ( v.Value * (180 / (Decimal)Math.PI))) },
|
|
1053 { M(() => Sql.Degrees((Double?) 0)), L<Double?, Double?> ( v => (Double?) ( v.Value * (180 / Math.PI))) },
|
|
1054 { M(() => Sql.Degrees((Int16?) 0)), L<Int16?, Int16?> ( v => (Int16?) AccessInt(AccessInt(v.Value) * (180 / Math.PI))) },
|
|
1055 { M(() => Sql.Degrees((Int32?) 0)), L<Int32?, Int32?> ( v => (Int32?) AccessInt(AccessInt(v.Value) * (180 / Math.PI))) },
|
|
1056 { M(() => Sql.Degrees((Int64?) 0)), L<Int64?, Int64?> ( v => (Int64?) AccessInt(AccessInt(v.Value) * (180 / Math.PI))) },
|
|
1057 { M(() => Sql.Degrees((SByte?) 0)), L<SByte?, SByte?> ( v => (SByte?) AccessInt(AccessInt(v.Value) * (180 / Math.PI))) },
|
|
1058 { M(() => Sql.Degrees((Single?) 0)), L<Single?, Single?> ( v => (Single?) ( v.Value * (180 / Math.PI))) },
|
|
1059
|
|
1060 { M(() => Sql.Round (0m) ), L<M?,M?> ( d => d - Sql.Floor(d) == 0.5m && Sql.Floor(d) % 2 == 0? Sql.Ceiling(d) : AccessRound(d, 0)) },
|
|
1061 { M(() => Sql.Round (0.0) ), L<F?,F?> ( d => d - Sql.Floor(d) == 0.5 && Sql.Floor(d) % 2 == 0? Sql.Ceiling(d) : AccessRound(d, 0)) },
|
|
1062 { M(() => Sql.Round (0m, 0)), L<M?,I?,M?>((v,p)=>
|
|
1063 p == 1 ? Sql.Round(v * 10) / 10 :
|
|
1064 p == 2 ? Sql.Round(v * 10) / 10 :
|
|
1065 p == 3 ? Sql.Round(v * 10) / 10 :
|
|
1066 p == 4 ? Sql.Round(v * 10) / 10 :
|
|
1067 p == 5 ? Sql.Round(v * 10) / 10 :
|
|
1068 Sql.Round(v * 10) / 10) },
|
|
1069 { M(() => Sql.Round (0.0,0)), L<F?,I?,F?>((v,p)=>
|
|
1070 p == 1 ? Sql.Round(v * 10) / 10 :
|
|
1071 p == 2 ? Sql.Round(v * 10) / 10 :
|
|
1072 p == 3 ? Sql.Round(v * 10) / 10 :
|
|
1073 p == 4 ? Sql.Round(v * 10) / 10 :
|
|
1074 p == 5 ? Sql.Round(v * 10) / 10 :
|
|
1075 Sql.Round(v * 10) / 10) },
|
|
1076 { M(() => Sql.RoundToEven(0m) ), L<M?,M?> ( v => AccessRound(v, 0))},
|
|
1077 { M(() => Sql.RoundToEven(0.0) ), L<F?,F?> ( v => AccessRound(v, 0))},
|
|
1078 { M(() => Sql.RoundToEven(0m, 0)), L<M?,I?,M?>((v,p)=> AccessRound(v, p))},
|
|
1079 { M(() => Sql.RoundToEven(0.0,0)), L<F?,I?,F?>((v,p)=> AccessRound(v, p))},
|
|
1080
|
|
1081 { M(() => Sql.Sinh(0)), L<F?,F?>( v => (Sql.Exp(v) - Sql.Exp(-v)) / 2) },
|
|
1082 { M(() => Sql.Tanh(0)), L<F?,F?>( v => (Sql.Exp(v) - Sql.Exp(-v)) / (Sql.Exp(v) + Sql.Exp(-v))) },
|
|
1083
|
|
1084 { M(() => Sql.Truncate(0m)), L<M?,M?>( v => v >= 0 ? Sql.Floor(v) : Sql.Ceiling(v)) },
|
|
1085 { M(() => Sql.Truncate(0.0)), L<F?,F?>( v => v >= 0 ? Sql.Floor(v) : Sql.Ceiling(v)) },
|
|
1086 }},
|
|
1087
|
|
1088 #endregion
|
|
1089 };
|
|
1090
|
|
1091 #region Sql specific
|
|
1092
|
|
1093 [CLSCompliant(false)]
|
|
1094 [SqlFunction("RTrim", 0)]
|
|
1095 public static string TrimRight(string str, char[] trimChars)
|
|
1096 {
|
|
1097 return str == null ? null : str.TrimEnd(trimChars);
|
|
1098 }
|
|
1099
|
|
1100 [CLSCompliant(false)]
|
|
1101 [SqlFunction("LTrim", 0)]
|
|
1102 public static string TrimLeft(string str, char[] trimChars)
|
|
1103 {
|
|
1104 return str == null ? null : str.TrimStart(trimChars);
|
|
1105 }
|
|
1106
|
|
1107 #endregion
|
|
1108
|
|
1109 #region Provider specific functions
|
|
1110
|
|
1111 [SqlFunction]
|
|
1112 static int? ConvertToCaseCompareTo(string str, string value)
|
|
1113 {
|
|
1114 return str == null || value == null ? (int?)null : str.CompareTo(value);
|
|
1115 }
|
|
1116
|
|
1117 // Access, DB2, Firebird, Informix, MySql, Oracle, PostgreSQL, SQLite
|
|
1118 //
|
|
1119 [SqlFunction]
|
|
1120 static string AltStuff(string str, int? startLocation, int? length, string value)
|
|
1121 {
|
|
1122 return Sql.Stuff(str, startLocation, length, value);
|
|
1123 }
|
|
1124
|
|
1125 // DB2
|
|
1126 //
|
|
1127 [SqlFunction]
|
|
1128 static string VarChar(object obj, int? size)
|
|
1129 {
|
|
1130 return obj.ToString();
|
|
1131 }
|
|
1132
|
|
1133 // DB2
|
|
1134 //
|
|
1135 [SqlFunction]
|
|
1136 static string Hex(Guid? guid)
|
|
1137 {
|
|
1138 return guid == null ? null : guid.ToString();
|
|
1139 }
|
|
1140
|
|
1141 #pragma warning disable 3019
|
|
1142
|
|
1143 // DB2, PostgreSQL, Access, MS SQL, SqlCe
|
|
1144 //
|
|
1145 [CLSCompliant(false)]
|
|
1146 [SqlFunction]
|
|
1147 [SqlFunction("DB2", "Repeat")]
|
|
1148 [SqlFunction("PostgreSQL", "Repeat")]
|
|
1149 [SqlFunction("Access", "String", 1, 0)]
|
|
1150 static string Replicate(string str, int? count)
|
|
1151 {
|
|
1152 if (str == null || count == null)
|
|
1153 return null;
|
|
1154
|
|
1155 var sb = new StringBuilder(str.Length * count.Value);
|
|
1156
|
|
1157 for (var i = 0; i < count; i++)
|
|
1158 sb.Append(str);
|
|
1159
|
|
1160 return sb.ToString();
|
|
1161 }
|
|
1162
|
|
1163 [CLSCompliant(false)]
|
|
1164 [SqlFunction]
|
|
1165 [SqlFunction("DB2", "Repeat")]
|
|
1166 [SqlFunction("PostgreSQL", "Repeat")]
|
|
1167 [SqlFunction("Access", "String", 1, 0)]
|
|
1168 static string Replicate(char? ch, int? count)
|
|
1169 {
|
|
1170 if (ch == null || count == null)
|
|
1171 return null;
|
|
1172
|
|
1173 var sb = new StringBuilder(count.Value);
|
|
1174
|
|
1175 for (var i = 0; i < count; i++)
|
|
1176 sb.Append(ch);
|
|
1177
|
|
1178 return sb.ToString();
|
|
1179 }
|
|
1180
|
|
1181 // MSSQL
|
|
1182 //
|
|
1183 [SqlFunction]
|
|
1184 static DateTime? DateAdd(Sql.DateParts part, int? number, int? days)
|
|
1185 {
|
|
1186 return days == null ? null : Sql.DateAdd(part, number, new DateTime(1900, 1, days.Value + 1));
|
|
1187 }
|
|
1188
|
|
1189 // MSSQL
|
|
1190 //
|
|
1191 [SqlFunction] static Decimal? Round(Decimal? value, int precision, int mode) { return 0; }
|
|
1192 [SqlFunction] static Double? Round(Double? value, int precision, int mode) { return 0; }
|
|
1193
|
|
1194 // Access
|
|
1195 //
|
|
1196 [SqlFunction("Access", "DateSerial")]
|
|
1197 static DateTime? MakeDateTime2(int? year, int? month, int? day)
|
|
1198 {
|
|
1199 return year == null || month == null || day == null?
|
|
1200 (DateTime?)null :
|
|
1201 new DateTime(year.Value, month.Value, day.Value);
|
|
1202 }
|
|
1203
|
|
1204 // Access
|
|
1205 //
|
|
1206 [CLSCompliant(false)]
|
|
1207 [SqlFunction("Int", 0)]
|
|
1208 static T AccessInt<T>(T value)
|
|
1209 {
|
|
1210 return value;
|
|
1211 }
|
|
1212
|
|
1213 // Access
|
|
1214 //
|
|
1215 [CLSCompliant(false)]
|
|
1216 [SqlFunction("Round", 0, 1)]
|
|
1217 static T AccessRound<T>(T value, int? precision) { return value; }
|
|
1218
|
|
1219 // Firebird
|
|
1220 //
|
|
1221 [SqlFunction("PI", ServerSideOnly = true)] static decimal DecimalPI() { return (decimal)Math.PI; }
|
|
1222 [SqlFunction("PI", ServerSideOnly = true)] static double DoublePI () { return Math.PI; }
|
|
1223
|
|
1224 // Informix
|
|
1225 //
|
|
1226 [SqlFunction]
|
|
1227 static DateTime? Mdy(int? month, int? day, int? year)
|
|
1228 {
|
|
1229 return year == null || month == null || day == null ?
|
|
1230 (DateTime?)null :
|
|
1231 new DateTime(year.Value, month.Value, day.Value);
|
|
1232 }
|
|
1233
|
|
1234 #endregion
|
|
1235
|
|
1236 #endregion
|
|
1237 }
|
|
1238 }
|