Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
简单SQL查询,如何检查列值是否以与另一列值相同的5个字母开头_Sql_Database_Postgresql - Fatal编程技术网

简单SQL查询,如何检查列值是否以与另一列值相同的5个字母开头

简单SQL查询,如何检查列值是否以与另一列值相同的5个字母开头,sql,database,postgresql,Sql,Database,Postgresql,我相信这很简单,如果是的话请原谅我 我想知道如何检查一列值的前5个字母(例如name1)是否等于另一列值的前5个字母,例如(name2) 我相信一些简单的事情,比如 SELECT * FROM table1 WHERE name1*first 5* = name2*first 5* 谢谢 您T-SQL: SELECT * FROM table1 WHERE LEFT(name1, 5) = LEFT(name2, 5) 但ANSI表格是: SELECT * FROM table1 WHERE

我相信这很简单,如果是的话请原谅我

我想知道如何检查一列值的前5个字母(例如
name1
)是否等于另一列值的前5个字母,例如(
name2

我相信一些简单的事情,比如

SELECT * FROM table1
WHERE name1*first 5* = name2*first 5*
谢谢 您

T-SQL:

SELECT *
FROM table1
WHERE LEFT(name1, 5) = LEFT(name2, 5)
但ANSI表格是:

SELECT *
FROM table1
WHERE SUBSTRING(name1 FROM 1 FOR 5) = SUBSTRING(name2 FROM 1 FOR 5)

对于PostgreSQL,请使用ANSI表单:

欢迎使用StackOverflow:如果您发布代码、XML或数据示例,请在文本编辑器中突出显示这些行,然后单击编辑器工具栏上的“代码示例”按钮(
{}
),以精确地格式化和语法突出显示它!谢谢我的数据库是postgresAlso,这有助于准确回答您的问题。例如,name1和name2是否都可能是“a”?或者它们都是空的?如果是的话,你期望得到什么样的结果?我的假设(name1和name2都是非空的,对于长度小于5的字符串,比较整个字符串)会给出与您已经得到的相同的答案,但我知道这样的假设很容易出错。