2015-04-27 82 views
0

我需要列出某個表中的一些細節,其中兩列以特定數字結尾,我必須使用RIGHT字符串函數。使用正確的字符串函數

使用MySQL工作臺

到目前爲止,我有:

Select dog_id, Cat_id, Place 
FROM EVENT_ENTRY 

在列dog_id和CAT_ID,存在數據,例如501,502,401,301,201,101,91等。

我需要使用正確的字符串函數列出dog_id和cat_id中以1結尾的所有數據。

任何幫助將不勝感激。乾杯。

+0

哪些DBMS您使用的? Postgres的?甲骨文? –

+0

對不起,使用mySQL Workbench。 – Greg1994

+1

.... WHERE RIGHT(dog_id,1)='1'AND RIGHT(cat_id,1)='1'... – Mithrandir

回答

0
SELECT dog_id, Cat_id, Place FROM EVENT_ENTRY 
WHERE RIGHT(dog_id, LEN(dog_id)) = 1 AND RIGHT(cat_id, LEN(cat_id)) 
+0

右邊第二個參數應該是1,而不是它得到的字符串的長度。 'RIGHT(dog_id,LEN(dog_id))'與'dog_id'相同 –

0

如果這些INT列(或對於該問題的任何其它整數數據類型),最好以測試是否modulu 2 = 1,像這樣:WHERE Dog_Id % 2 = 1 AND Cat_Id % 2 = 1

如果這些字符串列(NCHAR, NVARCHAR等),你可以使用right功能,像這樣:WHERE RIGHT(Dog_Id, 1) = '1' AND RIGHT(Cat_Id, 1) = '1'
或類似使用了通配符,像這樣的:WHERE Dog_Id LIKE '%1' AND Cat_Id LIKE '%1'

+0

肯定是'WHERE Cat_Id%10 = 1',而不是'WHERE Cat_Id%2 = 0'?後者只是檢索數量甚至的地方。 – GarethD

+0

哎呀,固定它... –

0
SELECT dog_id, Cat_id, Place 
FROM EVENT_ENTRY 
WHERE RIGHT(dog_id,1)='1' and RIGHT(cat_id,1)='1'; 
相關問題