关于GUID的使用

GUID(Global unique identifier)全局唯一标识符,它是由网卡上的标识数字(每个网卡都有唯一的标识号)以及 CPU 时钟的唯一数字生成的的一个16字节的二进制值。

//  .net 中使用GUID
private void Button1_Click(object sender, System.EventArgs e)
        
{
            
// new a GUID
            this.TextBox1.Text = System.Guid.NewGuid().ToString();
        }

 

 public void InsertIntoDB()
    {

         try
        {
            Guid CID = Guid.NewGuid(); 
            CurrencyRow row = new CurrencyRow();
            row.CurrencyID = CID.ToString();  
            row.CurrencyName = this.txt_Currency.Text.Trim();
            db.CurrencyCollection.Insert(row);
            this.Alert("货币信息录入成功!");
        }
        catch
        {
            db.RollbackTransaction();
            this.Alert("货币信息录入失败,请稍后再试!");
        }

    }

### 如何在 SQL Server 中生成和操作 GUID #### 使用 `NEWID()` 函数生成 GUID 为了生成一个随机的 GUID,在 SQL Server 中可以使用内置函数 `NEWID()`。这个函数会返回一个新的全局唯一标识符 (GUID),其格式类似于 `6F9619FF-8B86-D011-B42D-00C04FC964FF`[^1]。 ```sql SELECT NEWID() AS new_guid; ``` 这段代码将会创建一条记录,其中包含由 `NEWID()` 产生的新 GUID 值作为字段名 `new_guid` 的值。 #### 将 GUID 转换为字符串形式并去除分隔符 如果希望去掉 GUID 字符串中的连字符 `-` 并转换成全部小写字母的形式,可以通过组合使用 `LOWER()` 和 `REPLACE()` 函数来实现这一点: ```sql SELECT LOWER(REPLACE(CONVERT(varchar(36), NEWID()), '-', '')) AS guid_without_hyphens_lowercase; ``` 这条语句先通过 `CONVERT()` 把 `uniqueidentifier` 类型的结果转为可读性强的 `varchar` 形式,接着利用 `REPLACE()` 移除所有的短划线,最后调用 `LOWER()` 方法确保最终得到的小写版本[^3]。 #### 创建存储过程或用户定义函数用于生成特定格式的 GUID 对于某些应用场景可能需要更复杂的逻辑处理,比如想要构建一个能够持续提供固定长度(例如32位)且不含特殊符号的大写或小写的 GUID 序列号。这时就可以编写自定义的功能模块,像下面这样定义一个简单的 T-SQL 用户定义函数: ```sql CREATE FUNCTION dbo.GetFormattedGuid() RETURNS VARCHAR(32) AS BEGIN RETURN REPLACE(LOWER(CAST(NEWID() AS CHAR(36))), '-', '') END GO ``` 之后便可以在其他地方轻松调用此函数获取所需的 GUID 格式的输出[^4]: ```sql SELECT dbo.GetFormattedGuid(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值