我必须截断表上Guid的前两位数字。是否可以只使用SQL脚本来完成此操作?或者我必须用程序来做?
谢谢!
要回答手头的直接问题(假设列名为foo
):
foo
是唯一标识符:
SELECT substring(convert(nvarchar(50), foo), 3)
foo
只是一个字符串:
SELECT substring(foo, 3)
3
只是一个任意的起始偏移量,用于删除前"几个"字符
话虽如此,这听起来像是一个XY问题。如果你遇到了一个问题,你觉得需要截断前几个字符,那么在你的问题中列出这些信息以及你所描述的听起来像是一个奇怪的请求是很重要的。但是,您也有权提出奇怪的请求。
前面的答案非常好。另一种选择是使用出色的RIGHT
功能。假设Guid是一个唯一标识符,那么它有36个字符。只需使用RIGHT(theguid, 34)
,例如
declare @temp as uniqueidentifier = newid();
select right(@temp, 34);