我需要列出某個表中的一些細節,其中兩列以特定數字結尾,我必須使用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結尾的所有數據。
任何幫助將不勝感激。乾杯。
我需要列出某個表中的一些細節,其中兩列以特定數字結尾,我必須使用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結尾的所有數據。
任何幫助將不勝感激。乾杯。
SELECT dog_id, Cat_id, Place FROM EVENT_ENTRY
WHERE RIGHT(dog_id, LEN(dog_id)) = 1 AND RIGHT(cat_id, LEN(cat_id))
右邊第二個參數應該是1,而不是它得到的字符串的長度。 'RIGHT(dog_id,LEN(dog_id))'與'dog_id'相同 –
如果這些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'
肯定是'WHERE Cat_Id%10 = 1',而不是'WHERE Cat_Id%2 = 0'?後者只是檢索數量甚至的地方。 – GarethD
哎呀,固定它... –
SELECT dog_id, Cat_id, Place
FROM EVENT_ENTRY
WHERE RIGHT(dog_id,1)='1' and RIGHT(cat_id,1)='1';
哪些DBMS您使用的? Postgres的?甲骨文? –
對不起,使用mySQL Workbench。 – Greg1994
.... WHERE RIGHT(dog_id,1)='1'AND RIGHT(cat_id,1)='1'... – Mithrandir