mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-22 20:13:41 +08:00
Add SqlFunc.NewUid
This commit is contained in:
@@ -1064,5 +1064,10 @@ namespace SqlSugar
|
||||
var parameterNameA = mode.Args[0].MemberName;
|
||||
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 PadLeft(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 decimal ToDecimal(object value) { return value.ObjToDecimal(); }
|
||||
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 bool ToBool(object value) { return value.ObjToBool(); }
|
||||
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;
|
||||
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()}\"}}')";
|
||||
}
|
||||
}
|
||||
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)
|
||||
//{
|
||||
// var parameterNameA = mode.Args[0].MemberName;
|
||||
|
@@ -385,5 +385,10 @@ namespace SqlSugar
|
||||
var parameterNameA = mode.Args[0].MemberName;
|
||||
return $" CEIL({parameterNameA}) ";
|
||||
}
|
||||
|
||||
public override string NewUid(MethodCallExpressionModel mode)
|
||||
{
|
||||
return " SYS_GUID() ";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -130,6 +130,11 @@ namespace SqlSugar
|
||||
var parameterNameC = mode.Args[2].MemberName;
|
||||
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;
|
||||
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