我需要列出某个表中的一些细节,其中两列以特定数字结尾,我必须使用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