我有一张桌子
doctors (
id int,
name varchar(255)
)
其中名称如“Sername Name”。
在查询中我只需要医生的姓名。如何在大多数RDBMS上使用标准或解决方案来实现?
我只知道两个解决方案。
首先是postgres中的SUBSTRING(input SIMILAR pattern ESCAPE escape-char)
是SUBSTRING(input FROM pattern-string)
。
其次是post {substring(name, 0 , position(' ')
。
UPD:请求rdbms拆分字符串是否正常,或者更好地在代码中手动执行?
答案 0 :(得分:1)
请参阅http://sqlnut.atw.hu/sqlnut2-chp-4-sect-4.html
搜索substring
和position
。
答案 1 :(得分:1)
更好的是,在同一列中创建一个没有姓氏和名字的模式:
doctors ( id int, firstname varchar(255), lastname varchar(255) )
然后你不需要那些(慢)字符串操作。