首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何选择一定长度的数据项?

如何选择一定长度的数据项?
EN

Stack Overflow用户
提问于 2013-06-12 17:30:48
回答 4查看 83K关注 0票数 13

如何选择列的行,使行大小为<= 5?有没有一个可以在大多数/所有数据库上工作的查询?

例如:id,first_name

仅选择名字超过10个字符的人员。他们的名字太长了?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-06-12 19:51:18

如果您一定要使用特定的RDBMS,那么解决方案就很简单。

代码语言:javascript
复制
Use the LENGTH function.

根据您的数据库,长度函数可以是LEN、Length、CarLength。只要在谷歌上搜索一下就行了。

根据你的问题

如何选择列的行,使行大小为<= 5?有没有一个可以在大多数/所有数据库上工作的查询?

解决方案可以是

代码语言:javascript
复制
SELECT * FROM TableName WHERE LENGTH(name) <= 5

如果你想要的东西可以与几乎所有的数据库一起工作,我假设你想要获取的字符串的长度是非常小的。例如5个或8个字符,那么您可以使用下面这样的内容

代码语言:javascript
复制
 SELECT * 
 FROM tab
 WHERE
    colName LIKE ''
 OR colName LIKE '_' 
 OR colName LIKE '__'
 OR colName LIKE '___'
 OR colName LIKE '____'
 OR colName LIKE '_____'

这几乎适用于所有主要的DBMS。

请参见示例:

SQL Server

MySQL

Oracle

Postgre SQL

SQLite

票数 21
EN

Stack Overflow用户

发布于 2013-06-12 17:42:05

假设您想要以字符为单位的长度,则函数名称随RDBMS而异;

MySQL:CHAR_LENGTH()

Oracle:LENGTH()

SQL Server:LEN()

PostgreSQL:CHAR_LENGTH() or LENGTH()

SQLite:LENGTH()

如果你想要以字节为单位的长度,那么它就是;

MySQL:LENGTH()

Oracle:LENGTHB()

SQL Server:DATALENGTH()

PostgreSQL:OCTET_LENGTH()

例如,在MySQL中选择名称长度超过10个字符的所有行;

代码语言:javascript
复制
SELECT * FROM myTable WHERE CHAR_LENGTH(name) > 10;
票数 14
EN

Stack Overflow用户

发布于 2013-06-12 17:33:48

在sql servers中,您可以使用len函数。例如

代码语言:javascript
复制
SELECT * FROM people WHERE LEN(firstname) > 10

其中people是表名。

在mysql中,该函数被称为"Length“而不是len。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17062065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档