在sql中获取字符串的所有唯一字符
我有一个带有firstName和lastName列作为字符串的表。现在想要获取那些column.my表中的所有唯一的第一个字符在表中有一千行,但我只是想要SQL中的任何字符串函数来做到这一点?在sql中获取字符串的所有唯一字符
还有一件事我只需要找到字母没有特殊characters.As我的表是大它包含名字和姓氏用特殊字符我需要忽略他们
EG:假设我的表包含姓名条目::杰克,汤姆,谜语,和尚,* OPETH
在这种情况下,我的SQL应该返回J,M,R,T
试试这个:
SELECT DISTINCT LOWER(SUBSTR(firstName,1,1)) firstChars
FROM your_table
WHERE LOWER(SUBSTR(firstName,1,1)) IN
('a','b','c','d','e','f','g','h','i','j',
'k','l','m','n','o','p','q','r','s','t',
'u','v','w','x','y','z')
ORDER BY firstChars
SELECT DISTINCT left(firstName,1) FROM table_name
LEFT()不是Oracle函数。您的解决方案也无法解决过滤掉非字母字符的需要。 – APC
Ya r rite ..我使用Sql Server 2005和更高版本 – user909058
如果您在10g或更高版本的正则表达式查询的工作需要少了很多打字:)
SELECT DISTINCT SUBSTR(firstName,1,1)
FROM your_table
WHERE REGEXP_LIKE(firstName,'^[[:alpha:]]')
/
您可能希望应用UPPER()或LOWER()来平滑大小写混合的结果。
当您提出问题时,请务必在几分钟内询问您需要的所有内容,而无需更改。更多:如果您使用oracle,请将您的问题标记为oracle! – Marco