【发布时间】:2015-06-26 18:43:29
【问题描述】:
我需要使用 SQL 创建一个 varchar(5) 值。字符串只能有字母和数字,不能有特殊字符。我已经尝试过(见下文),但这没有用。
CHAR(ROUND(RAND() * 93 + 30, 0));
任何关于正在发生的事情的想法将不胜感激。完整代码如下。
merge into fundtype as fund using (select fundtypnum, fundtype, country from table(values
('JRLH5','$FOCA$01$$','USA'),
('YLHOV','$FOCA$02$$','AUS'),
('0MGJA','$FOCA$02$$','USA'),
('UK235','$FOCA$03$$','CAN'),
('HJP3C','$FOCA$03$$','USA')
))
as newfund (fundtypnum,fund_type,country)
on (
(fund.fund_type = newfund.fund_type and fund.country = newfund.country) or
(fund.fundtypnum = newfund.fundtypnum)
)
when not matched then
insert (fundtypnum,fund_type,country) values (
CHAR(ROUND(RAND() * 93 + 30, 0)),
newfund.fund_type,
newfund.country);
【问题讨论】:
-
我建议这些步骤。 1 - 创建一个大于 1,000,000 的随机数。 2. 将其转换为十六进制。 3 - 取最右边的 5 个字符。
-
定义“无效”。
-
你认为你为什么需要这个?你打算用这个值做什么?