SQL WHERE table1.column_char = table2.column_char

时间:2014-11-19 17:24:17

标签: sql string where

我需要关于以下语法的帮助;

table1.column(first 3 characters) = table2.column(first 3 characters)

4 个答案:

答案 0 :(得分:3)

使用Left function:

SELECT LEFT(Name, 5) 
FROM Production.Product
ORDER BY ProductID;
GO

根据您的条款:

SELECT * 
FROM Table1
WHERE LEFT(Table1.Col1,3) = LEFT(Table1.Col2,3)

(OR)

使用Substring function(COBRA_Fast 建议的):

SELECT * 
FROM Table1
WHERE SUBSTR(colum1, 0, 3) = SUBSTR(colum2, 0, 3)

答案 1 :(得分:0)

您需要的是正则表达式。您可以在Oracle中使用 - REGEXP_SUBSTR:

select regexp_substr('houseMate', 5) 
from dual;

但请求指明了您特定的数据库风格。

答案 2 :(得分:0)

CREATE TABLE dbo.Table1
(
columnA varchar(50) NULL
) 


CREATE TABLE dbo.Table2
(
columnB varchar(50) NULL
) 
GO

INSERT INTO Table1 (columnA)
 VALUES
('redDog'),
('blueCat')
GO

INSERT INTO Table2 (columnB)   
SELECT LEFT(t1.columnA, 3)          
FROM Table1 t1
GO

结果是红色'和' blu'在columnB

答案 3 :(得分:0)

SELECT * FROM Table1 WHERE   SUBSTR(column1,1,3)= SUBSTR(column2,1,3);

(column1,0,3)只返回两个字符。