在数据库中查询 UUID,具体方式取决于你使用的数据库类型以及UUID 的存储方式(字符串 / 二进制)。下面按常见数据库给你总结。
UUID 通常以两种形式存在:
550e8400-e29b-41d4-a716-446655440000
BINARY(16)UUID 类型(内部是二进制)SELECT *
FROM your_table
WHERE uuid = '550e8400-e29b-41d4-a716-446655440000';
SELECT *
FROM your_table
WHERE uuid = UUID_TO_BIN('550e8400-e29b-41d4-a716-446655440000');
SELECT
BIN_TO_UUID(uuid) AS uuid_str
FROM your_table;
✅ MySQL 8.0+ 才有 UUID_TO_BIN / BIN_TO_UUID
SELECT *
FROM your_table
WHERE uuid = '550e8400-e29b-41d4-a716-446655440000';
SELECT *
FROM your_table
WHERE uuid::uuid = '550e8400-e29b-41d4-a716-446655440000';
或
SELECT *
FROM your_table
WHERE CAST(uuid AS uuid) = '550e8400-e29b-41d4-a716-446655440000';
SELECT *
FROM your_table
WHERE uuid = '550e8400-e29b-41d4-a716-446655440000';
SELECT *
FROM your_table
WHERE CONVERT(VARCHAR(36), uuid) = '550e8400-e29b-41d4-a716-446655440000';
db.collection.find({
_id: UUID("550e8400-e29b-41d4-a716-446655440000")
})
或(二进制形式):
db.collection.find({
_id: BinData(3, "VQ6EAC6bQdSnFkRmVUQAAA==")
})
大小写问题
格式问题
{}(SQL Server 允许,但最好不带)索引问题
UUID_TO_BIN(uuid, true)(有序)| 数据库 | 查询方式 |
|---|---|
| MySQL | WHERE uuid = 'xxx' 或 UUID_TO_BIN() |
| PostgreSQL | WHERE uuid = 'xxx' |
| SQL Server | WHERE uuid = 'xxx' |
| MongoDB | UUID("xxx") |
如果你愿意,可以把:
发给我,我可以帮你写精确可用的 SQL。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。