mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-23 12:33:44 +08:00
Add SqlFunc.NewUid
This commit is contained in:
@@ -1064,5 +1064,10 @@ namespace SqlSugar
|
|||||||
var parameterNameA = mode.Args[0].MemberName;
|
var parameterNameA = mode.Args[0].MemberName;
|
||||||
return $" CEILING({parameterNameA}) ";
|
return $" CEILING({parameterNameA}) ";
|
||||||
}
|
}
|
||||||
|
public virtual string NewUid(MethodCallExpressionModel mode)
|
||||||
|
{
|
||||||
|
return " REPLACE(\r\n REPLACE(\r\n REPLACE(\r\n REPLACE(\r\n REPLACE(\r\n REPLACE(\r\n REPLACE(\r\n REPLACE(\r\n REPLACE(\r\n REPLACE(\r\n '6C050346-B632-47B4-B29F-9CE39AC22792',\r\n '6', SUBSTRING('0123456789ABCDEF', (FLOOR(RANDOM() * 16)::INTEGER % 16) + 1, 1)\r\n ),\r\n 'C', SUBSTRING('0123456789ABCDEF', (FLOOR(RANDOM() * 16)::INTEGER % 16) + 1, 1)\r\n ),\r\n '0', SUBSTRING('0123456789ABCDEF', (FLOOR(RANDOM() * 16)::INTEGER % 16) + 1, 1)\r\n ),\r\n '5', SUBSTRING('0123456789ABCDEF', (FLOOR(RANDOM() * 16)::INTEGER % 16) + 1, 1)\r\n ),\r\n '0', SUBSTRING('0123456789ABCDEF', (FLOOR(RANDOM() * 16)::INTEGER % 16) + 1, 1)\r\n ),\r\n '3', SUBSTRING('0123456789ABCDEF', (FLOOR(RANDOM() * 16)::INTEGER % 16) + 1, 1)\r\n ),\r\n '4', SUBSTRING('0123456789ABCDEF', (FLOOR(RANDOM() * 16)::INTEGER % 16) + 1, 1)\r\n ),\r\n 'B', SUBSTRING('0123456789ABCDEF', (FLOOR(RANDOM() * 16)::INTEGER % 16) + 1, 1)\r\n ),\r\n '2', SUBSTRING('0123456789ABCDEF', (FLOOR(RANDOM() * 16)::INTEGER % 16) + 1, 1)\r\n ),\r\n '9', SUBSTRING('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ', (FLOOR(RANDOM() * 16)::INTEGER % 16) + 1, 1)\r\n ) ";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -120,6 +120,7 @@ namespace SqlSugar
|
|||||||
string Right(MethodCallExpressionModel mode);
|
string Right(MethodCallExpressionModel mode);
|
||||||
string PadLeft(MethodCallExpressionModel mode);
|
string PadLeft(MethodCallExpressionModel mode);
|
||||||
string Floor(MethodCallExpressionModel mode);
|
string Floor(MethodCallExpressionModel mode);
|
||||||
string Ceil(MethodCallExpressionModel mode);
|
string Ceil(MethodCallExpressionModel mode);
|
||||||
|
string NewUid(MethodCallExpressionModel mode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -303,6 +303,7 @@ namespace SqlSugar
|
|||||||
public static string ToVarchar(object value) { return value.ObjToString(); }
|
public static string ToVarchar(object value) { return value.ObjToString(); }
|
||||||
public static decimal ToDecimal(object value) { return value.ObjToDecimal(); }
|
public static decimal ToDecimal(object value) { return value.ObjToDecimal(); }
|
||||||
public static Guid ToGuid(object value) { return Guid.Parse(value.ObjToString()); }
|
public static Guid ToGuid(object value) { return Guid.Parse(value.ObjToString()); }
|
||||||
|
public static Guid NewUid() { throw new NotSupportedException("Can only be used in expressions"); }
|
||||||
public static double ToDouble(object value) { return value.ObjToMoney(); }
|
public static double ToDouble(object value) { return value.ObjToMoney(); }
|
||||||
public static bool ToBool(object value) { return value.ObjToBool(); }
|
public static bool ToBool(object value) { return value.ObjToBool(); }
|
||||||
public static string Substring(object value, int index, int length) { return value.ObjToString().Substring(index, length); }
|
public static string Substring(object value, int index, int length) { return value.ObjToString().Substring(index, length); }
|
||||||
|
@@ -259,5 +259,10 @@ namespace SqlSugar
|
|||||||
var parameterNameA = mode.Args[0].MemberName;
|
var parameterNameA = mode.Args[0].MemberName;
|
||||||
return $" CEIL({parameterNameA}) ";
|
return $" CEIL({parameterNameA}) ";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override string NewUid(MethodCallExpressionModel mode)
|
||||||
|
{
|
||||||
|
return " SYS_GUID() ";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -245,6 +245,10 @@ namespace SqlSugar
|
|||||||
return $" JSON_CONTAINS({model.Args[0].MemberName},'{{\"{model.Args[1].MemberValue}\":\"{model.Args[2].MemberValue.ObjToStringNoTrim().ToSqlFilter()}\"}}')";
|
return $" JSON_CONTAINS({model.Args[0].MemberName},'{{\"{model.Args[1].MemberValue}\":\"{model.Args[2].MemberValue.ObjToStringNoTrim().ToSqlFilter()}\"}}')";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public override string NewUid(MethodCallExpressionModel mode)
|
||||||
|
{
|
||||||
|
return " CONCAT(\r\n SUBSTR(UPPER(HEX(RANDOM_BYTES(4))), 1, 8), '-',\r\n SUBSTR(UPPER(HEX(RANDOM_BYTES(2))), 1, 4), '-',\r\n '4', SUBSTR(UPPER(HEX(RANDOM_BYTES(2))), 2, 3), '-',\r\n SUBSTR('89ab', 1 + (ABS(RANDOM()) % 4), 1), SUBSTR(UPPER(HEX(RANDOM_BYTES(2))), 2, 3), '-',\r\n SUBSTR(UPPER(HEX(RANDOM_BYTES(6))), 1, 12)\r\n) ";
|
||||||
|
}
|
||||||
//public override string TrimEnd(MethodCallExpressionModel mode)
|
//public override string TrimEnd(MethodCallExpressionModel mode)
|
||||||
//{
|
//{
|
||||||
// var parameterNameA = mode.Args[0].MemberName;
|
// var parameterNameA = mode.Args[0].MemberName;
|
||||||
|
@@ -385,5 +385,10 @@ namespace SqlSugar
|
|||||||
var parameterNameA = mode.Args[0].MemberName;
|
var parameterNameA = mode.Args[0].MemberName;
|
||||||
return $" CEIL({parameterNameA}) ";
|
return $" CEIL({parameterNameA}) ";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override string NewUid(MethodCallExpressionModel mode)
|
||||||
|
{
|
||||||
|
return " SYS_GUID() ";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -130,6 +130,11 @@ namespace SqlSugar
|
|||||||
var parameterNameC = mode.Args[2].MemberName;
|
var parameterNameC = mode.Args[2].MemberName;
|
||||||
return $" CONCAT(REPLICATE({parameterNameC}, {parameterNameB} - LEN({parameterNameA})), {parameterNameA}) ";
|
return $" CONCAT(REPLICATE({parameterNameC}, {parameterNameB} - LEN({parameterNameA})), {parameterNameA}) ";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override string NewUid(MethodCallExpressionModel mode)
|
||||||
|
{
|
||||||
|
return " NEWID() ";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -319,5 +319,10 @@ namespace SqlSugar
|
|||||||
var parameterNameB = mode.Args[1].MemberName;
|
var parameterNameB = mode.Args[1].MemberName;
|
||||||
return $" SUBSTR({parameterNameA}, -2, {parameterNameB}) ";
|
return $" SUBSTR({parameterNameA}, -2, {parameterNameB}) ";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override string NewUid(MethodCallExpressionModel mode)
|
||||||
|
{
|
||||||
|
return " substr(upper(hex(randomblob(4))), 1, 8) || '-' ||\r\n substr(upper(hex(randomblob(2))), 1, 4) || '-' ||\r\n '4' || substr(upper(hex(randomblob(2))), 2, 3) || '-' ||\r\n substr('89ab', 1 + (abs(random()) % 4), 1) || substr(upper(hex(randomblob(2))), 2, 3) || '-' ||\r\n substr(upper(hex(randomblob(6))), 1, 12) ";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user