Korzystając z ArcGIS 10.2.2, mam pole tekstowe w tabeli atrybutów SDE. Potrzebuję pomocy w tworzeniu zapytania, aby wybrać wszystkie rekordy, które mają zero w 6. i 7. znaku pola (tj. 1995-0023A). Aby pomóc mi lepiej zrozumieć tego typu zapytania, chciałbym również zobaczyć zapytanie, które wybiera rekordy z zerami tylko w 6. znaku pola. Następnie mogę użyć klauzuli „i” i zduplikować ją, aby również wybrać siódmy znak.
Próbowałem odmian, "FIELD1" LIKE '%00_______'
ale nie wybiera rekordów z podwójnymi zerami we właściwym miejscu w ciągu.
arcgis-desktop
arcgis-10.2
query
Steve
źródło
źródło
"FIELD1" LIKE '_____00%'
? Użyłoby to pięciu znaków wieloznacznych, następnie twoich dwóch zer, a następnie kolejnej wieloznacznej reszty ciągu. W jakim typie bazy danych są? SQL Server, Oracle, coś jeszcze? Proszę edytować swoje pytanie do obejmować informacje z Twojego komentarza powyżej, a dane o bazie danych (wydanie wersji itd.)_
jest używane w niektórych bazach danych jako znak zastępczy pojedynczego znaku. Procent%
to symbol wieloznaczny dla wszystkich miejsc postaci.Odpowiedzi:
Podkreślenie
_
jest używane w niektórych bazach danych jako znak zastępczy pojedynczego znaku. Procent%
to symbol wieloznaczny dla wszystkich miejsc postaci.Dlatego coś podobnego
"FIELD1" LIKE '_____00%'
powinno działać, w zależności od rodzaju bazy danych. Użyłoby to pięciu znaków wieloznacznych, następnie twoich dwóch zer, a następnie kolejnej wieloznacznej reszty ciągu.źródło
Poniżej zaznaczono wszystkie rekordy, które mają zero na 6. pozycji znaku, a także na 7. pozycji znaku.
Istnieje pięć znaków podkreślenia poprzedzających zero w pierwszej części wyrażenia, a następnie sześć znaków podkreślenia poprzedzających zero w drugiej części. Podkreślenie to „symbol wieloznaczny”, który wymaga obecności dowolnego znaku (może to być spacja, liczba, litera, symbol itp.). Symbol wieloznaczny procent (%) pozwala na śledzenie wszystkiego (nie pozwala również na śledzenie - nie wymaga żadnego znaku).
Byłoby to bardziej zwięzłe rozwiązanie tego problemu
źródło
Jest to zależne od RDBMS, chociaż następujące powinny działać w większości:
SUBSTRING (nazwa pola, 6, 2) = „00”
źródło
SUBSTRING()
wynika, że nigdy nie działał w ograniczonym SQL ArcMap. Czy to tam, gdzie go używasz, czy używasz go gdzie indziej? Czy możesz edytować swoją odpowiedź, aby ją rozwinąć?