假设我的表中有以下记录。
4 - Mar 1 thru Apr 11
13 - Dec 01 thru Dec 31
我想选择字符串,以便输出
Mar 1 thru Apr 11
Dec 01 thru Dec 31
我该怎么做?
谢谢
答案 0 :(得分:1)
我可以使用:
CHARINDEX ( expressionToFind ,expressionToSearch [ , start_location ] )
参见文档:http://msdn.microsoft.com/en-us/library/ms186323.aspx
所以,这将是:
SELECT SUBSTRING([*FieldName*], CHARINDEX('-', [*FieldName*])+2, 252) FROM [*Table*]
252
是字符数,这是nvarchar
字段的默认长度。如果需要,可以增加或减少此数字。
我将+2
删除-
(短划线和空格)。
答案 1 :(得分:1)
您有很多选择,我会将 SELECT 与 SUBSTR 和 LEN 子句一起使用,(请参阅此页:{{3} })
数据:
4月 - 3月1日至4月11日
13 - 12月1日至12月31日
SELECT SUBSTR(your-field,4,TRIM(LEN(your-field)-4))FROM your-table;
输出:
3月1日至4月11日
12月1日至12月31日
注意
- SUBSTR:返回参数的一部分
- LEN:返回论证的长度
- TRIM:返回没有空格的长度
答案 2 :(得分:0)
SELECT REPLACE((SUBSTRING('4 - Mar 1 thru Apr 11', CHARINDEX(' - ', '4 - Mar 1 thru Apr 11'), LEN('4 - Mar 1 thru Apr 11'))),' - ','')
这也有效,
我现在会检查你的选择。
感谢你们的帮助。