@@ -525,7 +525,7 @@ class Tokenizer(tokens.Tokenizer):
525525 "TOP" : TokenType .TOP ,
526526 "TIMESTAMP" : TokenType .ROWVERSION ,
527527 "TINYINT" : TokenType .UTINYINT ,
528- "UNIQUEIDENTIFIER" : TokenType .UNIQUEIDENTIFIER ,
528+ "UNIQUEIDENTIFIER" : TokenType .UUID ,
529529 "UPDATE STATISTICS" : TokenType .COMMAND ,
530530 "XML" : TokenType .XML ,
531531 }
@@ -579,6 +579,7 @@ class Parser(parser.Parser):
579579 "JSON_VALUE" : parser .build_extract_json_with_path (exp .JSONExtractScalar ),
580580 "LEN" : _build_with_arg_as_text (exp .Length ),
581581 "LEFT" : _build_with_arg_as_text (exp .Left ),
582+ "NEWID" : exp .Uuid .from_arg_list ,
582583 "RIGHT" : _build_with_arg_as_text (exp .Right ),
583584 "PARSENAME" : _build_parsename ,
584585 "REPLICATE" : exp .Repeat .from_arg_list ,
@@ -919,6 +920,7 @@ class Generator(generator.Generator):
919920 exp .DataType .Type .SMALLDATETIME : "SMALLDATETIME" ,
920921 exp .DataType .Type .UTINYINT : "TINYINT" ,
921922 exp .DataType .Type .VARIANT : "SQL_VARIANT" ,
923+ exp .DataType .Type .UUID : "UNIQUEIDENTIFIER" ,
922924 }
923925
924926 TYPE_MAPPING .pop (exp .DataType .Type .NCHAR )
@@ -974,6 +976,7 @@ class Generator(generator.Generator):
974976 exp .TsOrDsAdd : date_delta_sql ("DATEADD" , cast = True ),
975977 exp .TsOrDsDiff : date_delta_sql ("DATEDIFF" ),
976978 exp .TimestampTrunc : lambda self , e : self .func ("DATETRUNC" , e .unit , e .this ),
979+ exp .Uuid : lambda * _ : "NEWID()" ,
977980 exp .DateFromParts : rename_func ("DATEFROMPARTS" ),
978981 }
979982
0 commit comments