sql - VARCHAR से निकालें संख्या




sql-server tsql sql-server-2012 patindex (2)

आप केवल 12 [0-9] की एक पंक्ति में उपयोग कर सकते हैं:

PATINDEX('%[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9‌​][0-9][0-9]%',[Comme‌​nt])

मेरे पास एक तालिका [Comment] VARCHAR(255) का एक कॉलम है जिसमें मैं संख्याओं को निकालने की कोशिश कर रहा हूं। संख्या हमेशा 12 अंक होगी, लेकिन आमतौर पर एक ही स्थान पर नहीं होती है। उनमें से कुछ के पास एक से अधिक 12 अंक संख्या भी होगी, जो ठीक है, लेकिन मुझे केवल पहले की आवश्यकता है

मैंने PATINDEX('%[0-9]%',[Comment]) का प्रयोग करने की कोशिश की है, लेकिन मुझे यह पता नहीं लगा कि 12 अंकों की आवश्यकता कैसे निर्धारित करें।

मैं जिस डेटा के साथ काम कर रहा हूं उसका एक उदाहरण नीचे दिया गया है:

Combined 4 items for $73.05 with same claim no. 123456789012 as is exceeding financial limits
Consolidated remaining amount of claim numbers, 123456789013, 123456789014, 123456789015, 123456789016 due to financial limits

Google बाद ...

वेबसाइट से कोड लेना:

CREATE TABLE CRLF
    (
        col1 VARCHAR(1000)
    )

INSERT CRLF SELECT 'The quick [email protected]'
INSERT CRLF SELECT 'fox @jumped'
INSERT CRLF SELECT '@over the '
INSERT CRLF SELECT '[email protected]'

SELECT col1 FROM CRLF

Returns:

col1
-----------------
The quick [email protected]
fox @jumped
@over the
[email protected]

(4 row(s) affected)


UPDATE CRLF
SET col1 = REPLACE(col1, '@', CHAR(13))

ऐसा लगता है कि इसे प्लेसहोल्डर को CHAR (13) के साथ बदलकर किया जा सकता है

अच्छा सवाल, इसे कभी नहीं किया :)





sql sql-server tsql sql-server-2012 patindex