-1
A
回答
0
您可以使用该正则表达式:
select regexp_replace(the_column, '(^[0-9]+):.*', '\1')
from the_table;
或者使用left()
功能:
select left(the_column, strpos(col, ':') - 1)
from the_table;
的正则表达式是针对不包含数字或:
弦更稳健。如果您确定每值将有一个:
在其中,第二个解决方案应该是首选,因为它是更快。
以下示例:
with data (col) as (
values ('14800:DATAB Unload'), ('Another Unload')
)
select regexp_replace(col, '(^[0-9]+):.*', '\1'),
left(col, strpos(col, ':') - 1)
from data;
回报:
regexp_replace | left
----------------+------------
14800 | 14800
Another Unload | Another Unloa
第二个值将被留下的正则表达式溶液不变,但使用时left()
将切断的最后一个字符。
1
为MySQL
SELECT LEFT(you_column,LOCATE(':',your_column) - 1) from your_table
PostgreSQL的
SELECT substr(you_column , 1, position(':' in your_column) - 1) from your_table
或
SELECT left(you_column , position(':' in your_column) - 1) from your_table
+0
我正在使用postgresql,即时通讯得到的错误:
position(':',your_column)–
+0
它错误在',' –
+0
@MarkieDoe答案更新。 – scaisEdge
相关问题
- 1. vb.net读取字符串某个字符
- 2. 某个字符的搜索字符串
- 3. 从某个字符读取字符串
- 4. JAVA:从字符串中读取字符串到某个字符
- 5. 打破字符串成多个字符串在某个符号
- 6. SQL SERVER从某个字符后选择字符串
- 7. 摘自字符串,如果某些字符串存在SQL
- 8. 从某个字符串
- 9. Bash:删除字符,直到字符串中的某个字符
- 10. 从字符串中的某个字符中删除字符
- 11. 在某个子字符串中分割一个字符串?
- 12. 将字符串拆分为多个字符串(当某个字符发生时)
- 13. 检查某些字符的字符串
- 14. 代替某些字符的字符串
- 15. 添加字符串某些字符
- 16. 检查字符串的某些字符
- 17. 某个字符
- 18. 如何从sql中的字符串修改某些字符?
- 19. sql server认为空字符串等于某些字符
- 20. 修整字符串到SQL中的某些字符(oracle)
- 21. 验证字符串数组是否包含某个字符串
- 22. 检查字符串变量是否为某个字符串值
- 23. 查找某个字符串在另一字符串在Matlab
- 24. 解析某个字符串后引号内的字符串
- 25. preg_replace大字符串中的某个字符串
- 26. 从长字符串的某个字符开始获取子字符串。
- 27. SQL Server的一个字符串中删除多个字符串
- 28. 与某个字符开始从一个字符串在Javascript
- 29. 选择一个字符串中的某个字符
- 30. 在jQuery的某个点/字符处分割一个字符串
mysql或postgresql ???? – scaisEdge
postgresql它是即时通讯使用 –