SQL中大于多少个汉字或多少个字节,并且不能出现数字怎么表示,在线等

高分请问一下,SQL中大于多少个汉字或多少个字节,并且不能出现数字怎么表示,在线等
最新回答
年少总有梦

2024-04-11 16:24:00

你是要写存储过程?
还是建表的约束条件啊?

大于多少个汉字或多少个字节 比较简单, LENGTH( 列名 ) > 数字。 基本上就是长度判断了。

注:
Oracle,DB2 ,MySQL, SQLite 函数名字是 LENGTH
SQL Server 函数名字是 LEN

不能出现数字, 恐怕需要用正则表达式处理,比较方便。

这个要看你的数据库, 是什么数据库了。
因为不同的数据库, 正则表达式 的那个函数不一样的。

对于 Oracle,
使用 REGEXP_INSTR ( 列名, '[0-9]+') = 0 来实现

对于 SQL Server
使用 PATINDEX(‘%[0-9]%’, 指定字符串) = 0 来实现
追问
数据库用的是pgAdmin,要做查询数据的约束条件,  我这边是这样写的:
((octet_length(i_value)>3 and octet_length(i_value)=length(i_value)) or (length(i_value)>1 and octet_length(i_value)length(i_value))) or i_value ~ '[0-9]+'