0

假设我的表中有以下记录。

4 - Mar 1 thru Apr 11
13 - Dec 01 thru Dec 31

我想选择字符串,以便输出是,

Mar 1 thru Apr 11
Dec 01 thru Dec 31

我怎样才能做到这一点?

谢谢

4

3 回答 3

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-破折号和空白)去掉。

于 2013-04-01T18:14:07.640 回答
1

您有很多选择,我将使用带有SUBSTRLEN子句的SELECT ,(请参阅此页面:http: //oreilly.com/catalog/sqlnut/chapter/ch04.html

数据:
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:返回不带空格的长度

于 2013-04-01T18:31:53.160 回答
0
SELECT REPLACE((SUBSTRING('4 - Mar 1 thru Apr 11', CHARINDEX(' - ', '4 - Mar 1 thru Apr 11'), LEN('4 - Mar 1 thru Apr 11'))),' - ','')

这也有效,

我现在会检查你的选择。

谢谢你们所有的帮助。

于 2013-04-01T18:23:18.650 回答