2011-01-20 11 views
5

Muszę zaimportować dane z bazy danych paradoks do nowo utworzonej aplikacji WPF/SQL-Server. Z powodzeniem zaimportowałem niezbędne dane paradoks do programu Access i teraz piszę narzędzie, które konwertuje dane i importuje je do serwera SQL.Uwzględnij wielkość liter WHERE w programie Access 2010

Teraz mam problem, że paradoks podstawowy wydaje się wrażliwy na wielkość liter. Prowadzi to do tego, że mam rekordy z kluczem podstawowym "Au" i innymi rekordami z kluczem podstawowym "AU" i nie są one takie same.

Teraz wyszukać możliwość pisania skryptów Update w dostępie tak, że mogę napisać

UPDATE [TABLE_NAME] SET [PKFIELD]="Au1" WHERE [PKFIELD]='Au' 

że dotyczy tylko wiersze z [PKFIELD] = „Au”, a nie wiersze z [ PKFIELD] = 'AU'

Czy istnieje funkcja, której mogę użyć w tym celu lub w jaki sposób mogę to osiągnąć.

+1

Dlaczego spadł? Pytanie jest definitywnie o programowaniu. Prosimy o komentarz, jeśli złożysz skargę, aby właściciel postu wiedział, co zrobił fałszywie. Jeśli to jest fakt, że sam znalazłem odpowiedź, czy zaleciłbym usunięcie pytania? Myślę, że dla innej osoby szukającej tego samego, ten post byłby pomocny, dlatego opublikowałem rozwiązanie i nie usunąłem postu. Jednak nie wiem, czy to nie jest SO. Proszę poinformuj mnie o tym. – HCL

+1

Jest to przydatne pytanie, o ile widzę, a SO jest wiki, a nie forum pytań i odpowiedzi, więc nie ma powodu, dla którego nie powinieneś zadawać pytań, nawet jeśli znasz już odpowiedź. – Fionnuala

Odpowiedz

3

Ok, byłem trochę szybki w pytaniu SO. Znalazłem odpowiedź sam:

UPDATE [TABLE_NAME] SET [PKFIELD]="Au1" WHERE StrComp([PKFIELD],'Au', 0) = 0 
+1

Twoja klauzula WHERE byłaby bardziej wydajna, gdyby była: "GDZIE PKFIELD Podobnie jak" Au * "i StrComp ([PKFIELD]," Au ", 0) = 0". Powodem jest to, że pierwszy warunek użyje indeksu do zmniejszenia liczby porównywanych rekordów z funkcją StrComp(). Bez niego będzie musiał uruchomić StrComp() w każdym rzędzie. –

Powiązane problemy