所以我有很多这样的数据:
pix11co;10.115.0.1
devapp087co;10.115.0.100
old_main-mgr;10.115.0.101
radius03co;10.115.0.110
我想删除;
之后的内容,以便它变成
pix11co
devapp087co
old_main-mgr
radius03co
由于它们各不相同,我可以住在那里的分号。 我有以下查询,它运行成功但不删除任何内容。
UPDATE dns$ SET [Name;] = REPLACE ([Name;], '%_;%__________%', '%_;');
我可以使用哪些通配符来指定;
之后的字符?
答案 0 :(得分:2)
您可以使用CHARINDEX
吗? E.g:
SELECT LEFT('pix11co;10.115.0.1', CHARINDEX(';', 'pix11co;10.115.0.1') - 1)
答案 1 :(得分:1)
您可以使用CHARINDEX()
和CREATE TABLE MyStrings (
STR VARCHAR(MAX)
);
INSERT INTO MyStrings VALUES
('pix11co;10.115.0.1'),
('devapp087co;10.115.0.100'),
('old_main-mgr;10.115.0.101'),
('radius03co;10.115.0.110');
SELECT STR, SUBSTRING(STR, 1, CHARINDEX(';', STR) -1 ) AS Result
FROM MyStrings;
功能:
+---------------------------+--------------+
| STR | Result |
+---------------------------+--------------+
| pix11co;10.115.0.1 | pix11co |
| devapp087co;10.115.0.100 | devapp087co |
| old_main-mgr;10.115.0.101 | old_main-mgr |
| radius03co;10.115.0.110 | radius03co |
+---------------------------+--------------+
结果:
//ands
$this->db->like('id_photo', $id);
$this->db->like('id_photo', $lastname);
//chain the likes this way instead of "(($strWhere)"." OR lastname LIKE "."'%".$lnameFilter."%')"
//ors
$this->db->like('id_photo', $id);
$this->db->or_like('id_photo', $lastname);